加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – MVC代码重组

发布时间:2020-12-16 06:47:50 所属栏目:asp.Net 来源:网络整理
导读:我有一个巨大的MVC应用程序但不幸的是MVC领域没有用于初始开发.应用程序变得如此模块化,我们觉得有一个很好的案例可以使用区域.将整个代码移动到“区域”结构是多么容易或多难. 是否有任何重大挑战/代码重新工作等我必须注意的事情? 我可以创建新区域并将控
我有一个巨大的MVC应用程序但不幸的是MVC领域没有用于初始开发.应用程序变得如此模块化,我们觉得有一个很好的案例可以使用区域.将整个代码移动到“区域”结构是多么容易或多难.
是否有任何重大挑战/代码重新工作等我必须注意的事情?
我可以创建新区域并将控制器视图模型移动到适当的存储桶中……它工作正常吗?我是在简化事情吗?如果有人之前采取过这条路线,会很感激反馈,评论..

解决方法

该应用程序将适用于区域.由于分离,它将使维护和逻辑查看变得更容易.但是,你会遇到一些困境.

命名空间

第一个很可能是命名空间.当您将连接的逻辑或模型与依赖关系分开时,如果将依赖类放在区域中,则它们的命名空间引用可能需要更改.幸运的是,Visual Studio可以通过简单的“Resolve”功能来处理这些问题.如果您尝试编译并向您显示存在问题的所有位置,编译器应该抛出.很难预见所有这些事件的发生地点.但是,很可能没有多少使用指令是必需的,因为许多不同控制器使用的大多数应该在一个地方.

路由

如果您要使用区域,几乎所有您使用的操作链接都必须更改.您将被迫更改它们以代表新区域.

没有区域(在基地):

@Html.ActionLink("Label For Link","ActionName","ControllerName",new { area = "" },null)

具体领域:

@Html.ActionLink("Label For Link",new { area = "SpecificAreaName" },null)

您可能还需要更改任何返回的RedirectToAction代码.

基地面积:

return RedirectToAction("ActionName","ControllerName");

具体领域:

return RedirectToAction("ActionName",new { Area = "SpecificAreaName" });

除此之外,你应该是好的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读