2008-12-19 87 views
9

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

主要目标是到:

使我们能够只用功能选择区部署Web应用程序。

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

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

回答

6

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

2

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

+0

我想他会想限制由于许可协议以及客户是否为他们付费而访问其他模块。 – 2008-12-24 07:42:10