![]() |
1
3
Areas 听起来像你要找的。这将允许您对控制器/视图等进行分组,除非我误解了这个问题? |
![]() |
2
2
菲尔·哈克 discussed this here ,这是我所面临的同样的问题,我还没有正确地克服。 |
![]() |
3
1
从它的声音来看,你正在反对MVC的基本原则,即模型、视图和控制器的分离,而不是你希望通过使用模块以90度的角度分离。
最后是模型。很明显,我不知道你的项目,所以我不知道它是如何布置的,但是模型通常不存在用于一个控制器(或者你的情况下的模块)。例如,我有针对用户、公司、车辆等的模型。这些模型是我的数据结构的共享表示,与模块无关,因为用户在查看网页时可能会看到它。我不能将它们拆分为模块,因为关键是它们由整个应用程序共享。
|
![]() |
4
1
我发现了一个相对简单的解决方案,它使用IIS配置来模拟区域。不需要对现有MVC框架进行扩展。 在您的解决方案下为您站点中想要的每个区域创建一个新的MVC项目(例如Root、Blog、Forum、App1、App2)。如果您需要任何公共支持代码或公共模型,请将其放在MVC项目所依赖的单独dll项目中。 在IIS中,将站点根目录配置为指向根项目目录。在站点根目录下创建指向每个子区域项目目录的web应用程序。
这样做的好处是,您可以独立于路由系统更改web应用程序的名称,并且每个应用程序都认为自己在运行整个服务器。 |