在同一代码库上部署多个站点 - Asp.Net,C#,MVC

时间:2010-11-09 16:08:08

标签: c# asp.net-mvc themes

我最近继承了一个包含大约10个项目的解决方案。其中6个项目是基本上是原始文件的复制/粘贴的个人网站。

这意味着必须对每个项目进行任何更改才能更新所有网站。

我想要做的是拥有一个网站代码项目,并能够部署该代码和一些配置设置来创建一个新网站。这样,当我对主Web项目进行更新时,我可以将其部署到所有网站。

人们通常如何接近这个?我将概述我对它的看法,并希望你们中的一些人可以指出更好的方法来实现这一点,或者至少给我一些肯定,我在正确的轨道上。

  • 拥有非常通用容器的主标记。
  • 允许设置网站的用户/人员向网站添加小部件,这些小部件将分配给所有通用容器顶部和底部的小部件占位符。
  • 所有样式和颜色都将使用可以换出的样式表进行控制。
  • 我知道你可以做某种主题。这只是换掉css组并让你配置在webconfig中使用哪一个吗?
  • 对于在所有网站中相同的元素,例如页脚图像具有命名约定。因此,如果我希望站点A有一些页脚图像,我只需在部署时替换项目中的footer.jpg。

2 个答案:

答案 0 :(得分:1)

你的方法很好。

  1. 您应该使用主标记
  2. 您的网络系统将是CMS
  3. 您可以使用主题定义不同项目的样式,也可以动态链接css文件
  4. 如果它们真的是彼此的副本,那么你可以通过将它们全部定义为一个网站并将css图像标记的所有设置放在数据库中来使它非常通用
  5. 如果您不想使所有内容非常通用,您可以根据项目在运行时动态加载Web用户控件(请记住,您可以使用{{1}在运行时加载WebUserControls方法)

答案 1 :(得分:1)

不幸的是,这个问题很可能得到回应“这取决于”,因为每种方法都可以根据项目的需要使用或不使用。如果项目仅因呈现而异,则与CSS结合的母版页将提供合理的解决方案。