我一直在实施区域,但发现它在启动Cassini时为每个区域实例化了一个开发服务器。
这真的有必要吗? MSDN让我将这些区域设置为单独的Web应用程序,为什么我不能将它们放入类库?
答案 0 :(得分:3)
是的,您可以将它们归入类库。你可能想看看MVCContrib的人在做什么。他们称之为便携式区域,为您提供所需的库。他们使用自己的嵌入式视图引擎将视图从dll中取出。以下是引导您完成整个过程的link。
答案 1 :(得分:2)
经过大量研究,答案似乎是“尚未”。我们仍然在ASP.NET MVC v2的预览版本中,所以我决定退出,直到他们感觉非常好。
我想我会记下那些对模块化ASP.NET MVC项目感兴趣的人的经历。
目前,无论何时进行构建,它基本上都会将所有子项目(为区域创建)复制到父项目中。哪个在构建之后仍然有效,一旦您对某个区域中的视图进行了更改,在您重建之前,更改不会显示。这个会伤害敏捷,我知道团队现在正在关注它。
由于这种“断开连接”的项目结构,你会在我们通常忽略的视图中得到一些标记的问题(丢失的智能感知)(比如脚本引用等)。请记住,从长远来看,这是一个应用程序。
此外,上面发布的问题。调试时您将拥有单独的dev实例,但它将作为一个应用程序部署。
总的来说,有一些选项可以“自我增长”你自己的模块化解决方案(就像CWAB那样),但我会敦促你等待下一个“支持”的预览。我对这支球队及他们的能力感到非常满意。完善领域将真正让我们满意。
答案 2 :(得分:0)
如果有人因为他们仍在使用多个项目构建区域而遇到困难,你绝对可以在MVC 2中的单个项目中执行此操作。使用单项目方法,启动时只能获得一个正在运行的实例本地。有MSDN tutorial可以引导您完成单个项目区域,但在开始进行单元测试时请注意area registration bug。