0

我正在开发一个具有 Intranet 和面向 Internet 的站点的 Web 应用程序。每个应用程序将存在于物理上不同的服务器上。不同的网络应用程序会使用大量的通用代码,所以最大的区别在于外部站点可以使用哪些功能,远远少于内部版本。但是,外部的显然会有不同的web.config、sitemap等,以及一些只出现在外部的页面。

我想知道.NET 中是否有一种标准方法来说明如何在解决方案中进行布局,无论是从代码管理的角度还是部署的角度。我可以轻松地做一些简单的事情,比如将相同的应用程序和所有代码部署到两台服务器,可能只是使用不同的登录页面,然后使用基于角色的安全性来限制外部用户看到的内容。但是,这对我来说真的很臭,因为我讨厌在不需要的外部服务器上拥有各种文件的想法。

我认为应该有某种方法来布置解决方案,以便他们可以利用公共代码(包括公共页面)。显然,从其他项目构建的 DLL 不是要共享的问题,实际上是如何共享前端页面,并为每个页面设置不同的部署。

也许我可以将它们全部放在同一个 Visual Studio 项目中,然后调整一个 MSBuild 脚本来完成这项肮脏的工作?

感谢您提供的任何东西!

4

1 回答 1

0

似乎没有人对此有任何意见,所以我会让你知道我打算做什么,以防它帮助其他人。

我将使用 External、Internal 和 Common 文件夹来布置我的 Web 项目。我将使用一个 Web 设置项目来帮助部署我的解决方案,我将为外部和内部各有一个设置项目,并且我将使用文件过滤器从我的任何部分中排除我不想要的部分正在构建(排除外部构建的内部页面,反之亦然,而两者都将获得通用页面/代码)。

这将允许我将所有与 Web 相关的代码捆绑到同一个 VS 项目中(从而轻松利用共享页面),同时仍然只部署真正需要在每个服务器上的代码。

我希望这是有道理的!

于 2012-12-09T01:42:15.400 回答