到目前为止,我一直在研究ASP.NET MVC并且喜欢它。但我现在正在撞墙。
我正在开发一个新的Intranet站点,在那里我将需要承载许多项目,从几页到完整的应用程序。我一直在使用区域来区分项目。到目前为止一切都很好。
现在,解决方案太大了,我需要编译包含所有区域(多个项目)的整个项目的每个简单更改。一旦编译并上传了dll,我总是害怕改变生活。
无论如何,我可以容纳多个项目共享相同的布局,但是将每个项目编译成单独的dll?
提前致谢
修改
谢谢大家,我跟着Portable Areas as an ASP.NET MVC Project,他似乎已经逐步解释了事情,开始了。
答案 0 :(得分:2)
您是否考虑在MVCContrib中使用便携式区域功能? - 阅读有关它的帖子here
另请阅读另一个问题Eilon
中Multiproject areas in ASP.Net MVC 3的回复如果便携式区域解决方案不适合您,则可能需要时间将您的单个Web项目重构/重组为单独的Web项目。由于它是一个Intranet站点,您可能需要设置一些子域,以允许您在一个域下运行单独的网站。
例如
www.yourdomain.com
admin.yourdomain.com
calendar.yourdomain.com
等
通过这种方式,您可以隔离功能并更新Intranet的不同区域,而不会影响其他区域。您当然可能需要根据您的网站在您的子域中进行单点登录。
我通常会将所有常用功能提取到可供所有Web项目使用的核心项目(类库)中,并使每个Web项目尽可能轻量级。然后,您可以为不同的Web项目或Web项目组创建单独的解决方案。
另外,请考虑查看持续集成/构建服务器,以便您可以轻松检查在一个项目中所做的更改是否会影响当前解决方案中可能不存在的其他项目。