0

使用 ASP.NET 和多个项目保持 DRY。

在我工作的公司,我们正在为我们的大型 Intranet 站点从 Classic ASP 迁移到 ASP.NET。

目前有两个开发人员正在使用这个 Intranet 站点,我们目前不使用任何形式的源代码控制,除了相互交流我们目前正在处理的项目。我不确定我们是否会获得使用 Team Foundation Server 或任何其他源代码控制系统的批准。

我们的网站目前由单个静态内容页面和单个动态内容页面组成。

此外,大约有 50 种不同的 Web 应用程序都被整个公司的各个部门使用。这些都具有复杂性,从单页表单一直到非常复杂的多页应用程序,具有各种级别的报告生成功能。

所有这些网页共享一个共同的布局、基本的 javascript、css、页眉、页脚和侧边栏。我想尽可能遵循 DRY 原则,以帮助重新设计或更改共享页眉、页脚和侧边栏。

我的猜测是,我们最终会在同一个域名下的一台服务器上混合使用 HTML、Classic ASP、.NET Webforms 和 .NET MVC 应用程序。

目标:

  1. Master Pages / _Layout.cshtml -在各种 web 表单和/或 MVC 应用程序之间共享单个母版页和 MVC 布局页面。我不介意必须为 Webforms 维护一个母版页和为 MVC 维护一个布局页面。
  2. 页眉、页脚、侧边栏 -如果我无法轻松共享 Master/_Layout 页面。我想在所有不同的页面之间至少共享页眉、页脚和侧边栏,以便可以轻松地在整个站点范围内更新它们。
  3. 发布单个应用程序的更改 -我宁愿不必在每次对其中一个应用程序进行更改时都发布整个站点和所有各种应用程序。有没有办法保留此功能并仍然实现目标 1 和/或 2?

如果您可以请为几乎没有使用 ASP.NET Webforms、MVC 和 C# 经验的人定制您的答案。我已经完成了几个教程,但仍处于学习过程的初级阶段。

感谢您提供的任何帮助,我们将不胜感激。

4

1 回答 1

1

要满足所有三个要求,您必须将布局放在一个单独的项目中,该项目对于您的所有其他项目都是通用的。

看看这篇文章,它解释了如何将视图编译成 dll。完成此操作后,您将能够在其余应用程序之间共享此 dll 文件,从而共享布局页面,其中包含页眉、页脚和侧边栏。

将所有其他 MVC 应用程序也放在单独的项目中(您仍然可以将它们全部放在一个解决方案中),以便您可以单独构建和部署它们。

于 2012-07-12T17:34:44.147 回答