10 2016 档案
摘要:ASP.NET Core MVC 使用路由 [中间件](https://docs.asp.net/en/latest/fundamentals/middleware.html) 来匹配传入请求的 URL 并映射到具体的操作。路由通过启动代码或者特性定义。路由描述 URL 路径应该如何匹配到操作。路由也同样用于生成响应中返回的 URL(用于链接)。
这篇文章将解释 MVC 和路由之间的相互作用,以及典型的 MVC 应用程序如何使用路由特性。
阅读全文
摘要:集成测试确保应用程序的组件组装在一起时正常工作。 ASP.NET Core支持使用单元测试框架和可用于处理没有网络开销请求的内置测试的网络主机集成测试。
阅读全文
摘要:Areas 是 ASP.NET MVC 用来将相关功能组织成一组单独命名空间(路由)和文件夹结构(视图)的功能。使用 Areas 创建层次结构的路由,是通过添加另一个路由参数 `area` 到 `Controller` 和 `action`。
Areas 提供了一种把大型 ASP.NET Core MVC Web 应用程序分为较小的功能分组的方法。Area 是应用程序内部一个有效的 MVC 结构。在 MVC 项目中,像 Model,Controller 和 View 的逻辑组件放在不同的文件夹中,MVC 用命名约定来创建这些组件间的关系。对于大型应用,它有利于把应用分割成独立高级功能的 Areas。例如,一个多业务单元的电子商务应用,如结账,计费和搜索等。每个单元都有自己的逻辑组件:视图、控制器和模型。在这种情况下,你可以用 Areas 在同一项目中物理分割业务组件。
阅读全文
摘要:ASP.NET MVC 应用程序的控制器应当小巧并专注于用户界面。涉及了非 UI 事务的大控制器更难于测试和维护。控制器是所有 ASP.NET Core MVC 应用程序的核心部分。因此,你应当确保它们的行为符合应用的预期。 自动化测试可以为你提供这样的保障并能够在进入生产环境之前将错误检测出来。重要的一点是,避免将非必要的职责加入你的控制器并且确保测试只关注在控制器的职责上。
阅读全文
摘要:ASP.NET Core MVC 控制器应通过它们的构造器明确的请求它们的依赖关系。在某些情况下,单个控制器的操作可能需要一个服务,在控制器级别上的请求可能没有意义。在这种情况下,你也可以选择将服务作为 action 方法的参数。
阅读全文
摘要:ASP.NET MVC 过滤器 可在执行管道的前后特定阶段执行代码。过滤器可以配置为全局有效、仅对控制器有效或是仅对 Action 有效。
阅读全文