我一直在实现区域,但发现它在启动 Cassini 时会为每个区域实例化一个开发服务器。
这真的有必要吗?MSDN 让我将这些区域设置为单独的 Web 应用程序,为什么我不能将它们放入类库中?
我一直在实现区域,但发现它在启动 Cassini 时会为每个区域实例化一个开发服务器。
这真的有必要吗?MSDN 让我将这些区域设置为单独的 Web 应用程序,为什么我不能将它们放入类库中?
是的,您可以将它们归结为类库。你可能想看看 MVCContrib 的人在做什么。他们称其为便携式区域,可为您提供所需的库。他们使用自己的嵌入式视图引擎从 dll 中获取视图。这是引导您完成整个过程的链接。
经过大量研究,答案似乎是“还没有”。我们仍处于 ASP.NET MVC v2 的预览版中,所以我决定我应该退出,直到他们感觉很好。
我想我会为那些对模块化 ASP.NET MVC 项目感兴趣的人记下我的经验。
目前,每当您进行构建时,它基本上会将您的所有子项目(为区域创建)复制到父项目中。这在构建之后有效但是,一旦您对某个区域中的视图进行了更改,该更改在您重建之前不会显示出来。这会损害敏捷性,我知道团队现在正在考虑它。
由于这种“断开连接”的项目结构,您确实会在我们通常忽略的视图中看到一些标记的问题(丢失智能感知)(如脚本引用等)。请记住,从长远来看,它是一个应用程序。
另外,上面发布的问题。调试时您将拥有单独的开发实例,但它部署为一个应用程序。
总体而言,有一些选项可以“在家发展”您自己的模块化解决方案(就像 CWAB 所做的那样),但我敦促您等待下一个“支持”预览版。我对这支球队和他们的能力感觉非常好。完善的领域真的会让我们满意。