如何在我的应用程序中为每个区域实例化Cassini实例?

时间:2009-09-04 13:05:26

标签: asp.net-mvc cassini areas

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

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

3 个答案:

答案 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