1

我一直在实现区域,但发现它在启动 Cassini 时会为每个区域实例化一个开发服务器。

这真的有必要吗?MSDN 让我将这些区域设置为单独的 Web 应用程序,为什么我不能将它们放入类库中?

4

3 回答 3

3

是的,您可以将它们归结为类库。你可能想看看 MVCContrib 的人在做什么。他们称其为便携式区域,可为您提供所需的库。他们使用自己的嵌入式视图引擎从 dll 中获取视图。这是引导您完成整个过程的链接。

于 2009-11-13T19:03:32.800 回答
2

经过大量研究,答案似乎是“还没有”。我们仍处于 ASP.NET MVC v2 的预览版中,所以我决定我应该退出,直到他们感觉很好。

我想我会为那些对模块化 ASP.NET MVC 项目感兴趣的人记下我的经验。

目前,每当您进行构建时,它基本上会将您的所有子项目(为区域创建)复制到父项目中。这在构建之后有效但是,一旦您对某个区域中的视图进行了更改,该更改在您重建之前不会显示出来。这会损害敏捷性,我知道团队现在正在考虑它。

由于这种“断开连接”的项目结构,您确实会在我们通常忽略的视图中看到一些标记的问题(丢失智能感知)(如脚本引用等)。请记住,从长远来看,它是一个应用程序。

另外,上面发布的问题。调试时您将拥有单独的开发实例,但它部署为一个应用程序。

总体而言,有一些选项可以“在家发展”您自己的模块化解决方案(就像 CWAB 所做的那样),但我敦促您等待下一个“支持”预览版。我对这支球队和他们的能力感觉非常好。完善的领域真的会让我们满意。

于 2009-09-08T15:46:19.847 回答
0

如果有人因为他们仍在使用多个项目构建区域而偶然发现这一点,那么您绝对可以在 MVC 2 中的单个项目中执行此操作。使用单项目方法,当您在本地启动它时,您只会获得一个正在运行的实例。有一个MSDN 教程可以引导您完成单个项目的区域,但是当您开始对其进行单元测试时,请注意它们的区域注册错误。

于 2010-05-24T15:17:34.270 回答