• ASP.NET MVC:看 MVC 源码,学习:如何将 Area 中的 Controller 放到独立的程序集?


    背景

    本文假设您已经熟悉了 ASP.NET MVC 的常规开发方式、执行模型和关键扩展点,这里主要说一下如何使用 ASP.NET MVC 的源代码解决一些问题。

    如何将 Area 中的 Controller 放到独立的程序集?

    为了更好的组合代码,我们都会使用 Area 划分我们的项目,也会把 Controller 移动到独立的程序集,多数情况这回导致问题。

    项目结构

    问题出现在哪里了?

    初步原因分析是 DefaultController 的 Namespace 不匹配 TestAreaRegistration 的 Namespace,我们把 DefaultController 的 Namespace 修改的成 TestAreaRegistration 的 Namespace,然后就OK了。

    看到这里基本就可以解决问题了,我们可以修改 AreaRegistrationContext 的 Namespaces,

    深入 MVC 源代码

    想了解 AreaRegistrationContext 的 Namespaces 如何构造的就需要看 MVC 的源代码了,见下图:

    看到了 GetType.Namespace; 是不是就悟了,不难想象 AreaRegistrationContext.MapRoute 使用了他的 Namespaces 属性,见下图:

    备注

    如果你对 MVC 路由中的 Namespace 有所理解,解决本文的问题会有很多方案,这里不再赘述。

  • 相关阅读:
    获取微信接口各种信息
    servlet
    springmvc上传图片,发送邮件
    linuxmint卸载软件
    linuxmint更改权限
    screen 链接远程桌面
    eclipse添加桌面快捷方式
    window精选软件
    windows Server2012 IIS8.0配置安装完整教程
    SQL Server 2012 sa 用户登录 18456 错误
  • 原文地址:https://www.cnblogs.com/happyframework/p/3345229.html
Copyright © 2020-2023  润新知