3个网站1个项目

时间:2010-05-17 23:16:55

标签: c# asp.net

我们目前正在计划为同一家公司开发一个网站。 主要的区别只是外观,可能是一两家公司的额外问题。

目前每家公司都有自己的网站,当他们需要新功能时,我们必须对所有三个网站进行重新编码,或者当一个人想要一个新功能时,只需要一个网站更新。

我们想要完成的是创建一个可以存放所有这三个网站的网站。 这些网站的大部分功能都是一样的,90%的功能都是一样的 我想出了改变网站风格主题可以做的不同外观..

但是,如果一家公司想要添加某些东西,我们就会遇到解决其功能的问题。 因此,如果我们想要更新一个函数,我们只想在一个函数中进行更改,这应该适用于所有函数。

如果一家公司需要一个功能,那么只需添加新功能并将其分配给一家公司......

你如何构建这样的结构?

我们希望能够根据公司以及可用的功能控制显示的内容。

我只是需要一些指导如何做到这一点。 现在继承是我解决所有这个问题的方法。

3 个答案:

答案 0 :(得分:1)

将共享功能放在通用程序集中,并在3个网站中引用该程序集。这不一定是一个简单的解决方案。

答案 1 :(得分:0)

我尝试使用共享库以及在IIS中使用单个网站然后使用域来正确路由请求。如果您尝试在多个网站上共享它们,那么用户控件(ascx)会有很多问题变得非常混乱,即使可以将它们作为资源嵌入到程序集中并动态加载它们。

在单个IIS站点中托管所有3个域后,为了使站点之间的内容不同,您可以根据域编写一些条件。更一般的说法是,您可以创建一个类来保存基于域的功能的权限和资源,因此,如果您将来添加其他网站,则只需要为新域实现该类。

如果您可以以任何其他方式隔离差异,例如不同的图像目录,css文件,文本资源等,这些也可以帮助您将所有常用功能保存在一起,这样您就可以根据需要引用不同的资源同时分享所有共同的元素。

答案 2 :(得分:0)

您应该能够使用样式表解决大多数要解决的问题。让每个网站都引用相同的样式表,但是让它们也引用自己独特的样式表,其中包含每个网站的差异。