拆分/模块化大型ASP.NET Web应用程序项目

时间:2008-12-19 18:45:50

标签: asp.net web-applications

我们公司有一个相当大的ASP.NET Web应用程序。该应用程序已经分解为业务功能的不同“区域”。我正在寻找一些策略,可以将这个Web应用程序拆分为单独的可构建/可版本化模块。

主要目标是:

使我们能够部署仅包含选定功能区域的Web应用程序。

我将父网络应用程序设想为可以托管“插件”的“外壳”,它可以将自己注册为父网络应用程序导航层次结构上的菜单项。父Web应用程序将包含插件使用的母版页,样式表和常用控件。

你有什么样的想法来实现这样的东西?

2 个答案:

答案 0 :(得分:6)

我会做子网站项目。每个网站都是父网站的子项目。您可以编写一个HttpModule来检查某些数据存储,以查看该客户是否可以访问该站点(模块)并以这种方式拒绝访问。 Scott Guthrie有一篇关于如何设置子网站项目here的好文章。

答案 1 :(得分:2)

一种简单的方法是简单地使用SiteMap。您可以分离您的aspx文件并编译所有您想要的dll。 SiteMap是完全独立的,可以配置,但是您希望包含所需的任何模块,具有您想要的任何权限。没有任何代码模块真正需要向其他代码模块注册自己。这是ASP.NET,每个请求都是独立的,可以从任何aspx入口点开始。就您的页面而言,启用跨模块功能就像提供指向另一个模块中的页面的链接一样简单。 SiteMap可以轻松完成此任务。