ASP.NET MVC 5中的自定义文件夹结构
我试图确定在ASP.NETMVC5中实现Bob叔叔的尖叫式体系结构而不是使用默认的文件夹结构是否可行(或切实可行) 这里有一个链接,指向尖叫架构的描述: 假设的文件夹结构如下所示: 根ASP.NET MVC 5中的自定义文件夹结构,asp.net,asp.net-mvc,iis,architecture,asp.net-mvc-5,Asp.net,Asp.net Mvc,Iis,Architecture,Asp.net Mvc 5,我试图确定在ASP.NETMVC5中实现Bob叔叔的尖叫式体系结构而不是使用默认的文件夹结构是否可行(或切实可行) 这里有一个链接,指向尖叫架构的描述: 假设的文件夹结构如下所示: 根 顾客 控制器 CustomerController.cs 模型 Customer.cs 观点 Index.cshtml Details.cshtml Update.cshtml 雇员 控制器 EmployeesController.cs 模型 Employee.cs 观点 Index
- 顾客
- 控制器
- CustomerController.cs
- 模型
- Customer.cs
- 观点
- Index.cshtml
- Details.cshtml
- Update.cshtml
- 控制器
- 雇员
- 控制器
- EmployeesController.cs
- 模型
- Employee.cs
- 观点
- Index.cshtml
- Details.cshtml
- Update.cshtml
- 控制器
- 共享
- 观点
- _Layout.cshtml
- Error.cshtml
- 观点
- _ViewStart.cshtml
- Web.config
- =>客户索引
- =>客户详细信息
- =>客户更新
- =>员工索引
- =>员工详细信息
- =>员工更新
请注意,MVC区域不是我正在寻找的解决方案,因为它不允许上述文件夹结构(即,以高级用例和视图命名的顶级文件夹,直接包含在视图文件夹中,而不是子文件夹中)。我敢打赌你对IIS的看法是正确的。如果有两个路径映射到同一资源,则首先在IIS端检查物理路径 我在搜索routes配置,在
RouteCollection
上找到了属性,我认为这是可行的
我将该值设置为true
,并使用项目中的空文件夹进行本地测试,路由重定向到Home/Index
,并导航到localhost:xxx/MyFolder
。它工作正常
因此,您需要做的就是将此属性设置为true,以便它首先选择Asp.net路由而不是物理路由。是否为
http://www.example.com/employees/
?是的,我使用默认路由(即“{controller}/{action}/{id}”),默认操作映射到“Index”,id作为可选参数,应该映射到控制器。经过一些测试后,提出了一个可能的解决方案。如果有效,请告诉我。:)为了帮助其他人克服这个障碍,我写了一篇关于如何在ASP.NETMVC5中实现Bob叔叔的尖叫式体系结构的分步文章。这似乎奏效了。到目前为止,我认为您的解决方案没有任何问题。我将进一步研究一下我的测试项目,看看你提出的解决方案是否有任何潜在的负面影响,如果我在一天结束之前没有看到任何负面影响,我会将其标记为可接受的答案。感谢您的帮助和及时回复!你的解决方案一点问题都没有。事实上,它工作得很好,没有明显的副作用。我已将你的解决方案标记为已接受的答案。再次感谢!很高兴听到。唯一的“缺点”应该是,当物理文件与映射路由位于同一路由上时,您希望提供物理文件而不是操作。但是,我想不出在什么情况下你会希望这样。