C# ASP.Net MVC 5-解决方案体系结构-隔离关注点的区域-进一步隔离

C# ASP.Net MVC 5-解决方案体系结构-隔离关注点的区域-进一步隔离,c#,asp.net,model-view-controller,C#,Asp.net,Model View Controller,我正在玩一个Intranet网站的解决方案架构。考虑到我对在他们之间共享资源的理解有限,我使用了单项目方法而不是多项目方法 我想把公司内部的部门分开。我认为区域是解决这个问题的办法,但现在我需要在这些部门内部进行隔离。我不确定如何处理这种情况 解决方案>项目>区域>部门 上面的体系结构工作得很好,但是当我尝试使用上下文菜单在区域内添加区域时,我不能。我确信这是设计的,所以我想知道我应该采取什么方法?MVC区域的目的不是反映组织的结构,而是捆绑相关的功能。例如,您可以定义名为员工,福利,公司卡,费

我正在玩一个Intranet网站的解决方案架构。考虑到我对在他们之间共享资源的理解有限,我使用了单项目方法而不是多项目方法

我想把公司内部的部门分开。我认为区域是解决这个问题的办法,但现在我需要在这些部门内部进行隔离。我不确定如何处理这种情况

解决方案>项目>区域>部门


上面的体系结构工作得很好,但是当我尝试使用上下文菜单在区域内添加区域时,我不能。我确信这是设计的,所以我想知道我应该采取什么方法?

MVC区域的目的不是反映组织的结构,而是捆绑相关的功能。例如,您可以定义名为
员工
福利
公司卡
费用
等的区域


根据定义,只能存在1级区域。因此,要么有区域,所有区域控制器都位于站点根目录下1个“级别”(如果需要,还可以有根目录级别的控制器)。如果没有区域,则所有控制器将在根级别彼此相邻。

MVC的体系结构将代码文件的物理位置与执行的代码的虚拟位置(URL)分开。您可以使用路由修改URL,以更改资源的实际位置。这是最终用户看到的全部内容

这些区域只有1层深。但是区域所在的URL可以根据您的要求进行修改


或者,如果目标是使物理位置和虚拟位置匹配(这实际上只对维护应用程序的开发人员重要),有一个名为的开放源代码项目,可以用作区域的分层多级替换。

这太广泛了,主要是基于观点的。这只是一个内部网,主要是静态内容吗?还是需要大量的交互和数据输入?如果它主要是静态的,那么我会使用CMS系统来实现这一点,除非你想在公司每次重新安排部门名称时重新发布你的应用程序,或者他们想在网站上添加新页面,或者更正打字错误或更改照片。即使在某些领域有一些交互性,大多数现代CMS系统都允许您通过插件或特殊内容来构建交互性。根据您想对部门做什么,您可以在每个部门使用一个控制器,在每个部门中添加操作。让我们更多地了解您获得最佳解决方案所需的背景或职责。@maccettura感谢您的支持opinion@maccettura这不是完全基于意见,因为他正试图做一些系统不允许他做的事情。我的目标是能够将部门关注点分离到第n个级别。我应该说明的。项目中的物理位置对我来说很重要,我想让开发人员的导航更容易。然后我建议你去看看。MVC中的区域无法按开箱即用的层次结构进行组织,但该项目扩展了MVC,使您的命名空间/文件夹位置和URL能够完美匹配。我回家后会对此进行研究,github已阻止工作:(我感谢您的洞察力和花时间尝试理解我的目标标记作为答案,这正是我想要的。谢谢您的帮助!