寻找有关构建模块化 Web 应用程序的框架和方法的建议。
主要目标是尽量减少重新部署的需要,但有时重新部署也可以。
Java 的 OSGI 似乎是正确的想法,但我需要一个 .NET 实现。
http://www.osgi.org/Main/HomePage 模块化网络应用程序
ASP.NET MVC + 呢???
寻找有关构建模块化 Web 应用程序的框架和方法的建议。
主要目标是尽量减少重新部署的需要,但有时重新部署也可以。
Java 的 OSGI 似乎是正确的想法,但我需要一个 .NET 实现。
http://www.osgi.org/Main/HomePage 模块化网络应用程序
ASP.NET MVC + 呢???
研究领域驱动设计,Eric Evans 关于该主题的书是一个很好的资源。
您不需要 ASP.MVC 在 .Net 中构建 MVC 风格的应用程序,但它有助于获得 Microsoft 的支持 :)...
如果您正在查看 .NET,那么 ASP.NET MVC 几乎绝对是您应该采用的方式。该设计允许您非常清晰地分离应用程序的各种关注点,并对其进行测试。根据您的要求,它可能具有的一个缺点是,任何更改的程序集都必须重新编译和重新部署,因为 ASP.NET MVC 应用程序不是就地编译的(据我所知......)。
但是,由于您已经清楚地分离了您的关注点(对吗?),并在部署之前运行了所有单元测试(对吗?),您可以部署一个已更改的新程序集,并且高度确信它不会更改打破任何东西。
如果您对 ASP.NET MVC 感兴趣,我强烈推荐 Scott Hanselman、Scott Guthrie、Rob Conery 和 Phil Haack 的新书 - 第一章(200 页和完整的应用程序教程!)可在此处免费在线获取
有很多方法可以做到这一点。每个都有自己的权衡。
一种方法是拥有一个带有虚拟目录的基本主站点。每个虚拟目录将指向一个完整但相关的应用程序。缺点是您必须在创建 cookie 时指定要使用的基本 url,否则一个应用程序将无法访问另一个应用程序的 cookie。
另一种是通过用户控件创建每个子站点(想想 DNN)。这需要对核心应用程序如何公开通用功能进行大量思考和规划。
其他想法通常建立在其中之一之上。