如何组织内部和外部站点的VS解决方案

时间:2012-11-20 16:33:52

标签: asp.net visual-studio-2010 web-applications projects-and-solutions

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

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

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

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

感谢您提供的一切!

1 个答案:

答案 0 :(得分:0)

似乎没有人对此有任何意见,所以我会告诉你我正在计划做什么,以防它帮助其他人。

我将使用External,Internal和Common文件夹布置我的Web项目。 我将使用Web安装项目来帮助部署我的解决方案,我将有一个用于外部和内部的安装项目,我将使用文件过滤器来排除我不想要的部分,无论哪个部分我正在构建(排除外部构建的内部页面,反之亦然,而两者都将获得公共页面/代码)。

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

我希望这是有道理的!