我正在开发一个具有 Intranet 和面向 Internet 的站点的 Web 应用程序。每个应用程序将存在于物理上不同的服务器上。不同的网络应用程序会使用大量的通用代码,所以最大的区别在于外部站点可以使用哪些功能,远远少于内部版本。但是,外部的显然会有不同的web.config、sitemap等,以及一些只出现在外部的页面。
我想知道.NET 中是否有一种标准方法来说明如何在解决方案中进行布局,无论是从代码管理的角度还是部署的角度。我可以轻松地做一些简单的事情,比如将相同的应用程序和所有代码部署到两台服务器,可能只是使用不同的登录页面,然后使用基于角色的安全性来限制外部用户看到的内容。但是,这对我来说真的很臭,因为我讨厌在不需要的外部服务器上拥有各种文件的想法。
我认为应该有某种方法来布置解决方案,以便他们可以利用公共代码(包括公共页面)。显然,从其他项目构建的 DLL 不是要共享的问题,实际上是如何共享前端页面,并为每个页面设置不同的部署。
也许我可以将它们全部放在同一个 Visual Studio 项目中,然后调整一个 MSBuild 脚本来完成这项肮脏的工作?
感谢您提供的任何东西!