2011-06-03 203 views
0

想知道部署ASP.Net网站的最佳选择是什么。此刻我只是将代码放在服务器上的一个文件夹中,并在IIS上创建一个虚拟目录以引用此文件夹。然后我在服务器上打开VS2008的网站并构建它。尽管对我来说工作正常,但我不确定我是否按照最佳部署方法进行部署。部署asp.net网站的最佳方法

谢谢。

回答

2

对此在互联网上有很多意见,这是所有的意见。一定程度上取决于你和你的团队(如果你有一个),如果你的方法适合你,那么我没有看到任何改变的巨大理由,但我建议你至少有一个中转站点,你可以在那里在将用户测试部署到生产之前部署代码。

也就是说,在服务器上运行VS并不是很好(并且意味着您需要另一个VS许可证,因此可能是浪费),并且由于VS包含发布选项,它是相当多余的。我使用发布的小网站,它工作得很好。

0

在我工作的一个项目上,我们最初建立在开发机器上,压缩并复制'bin'目录的内容。 (解压,在IIS中创建等网站...)

后来,当我们有时间,我们就采取这种做法:

Creating windows installers in VS2008

这很有效,因为(字面上)任何人都可以进行部署。真正的美妙之处在于,你可以解释这只是一个复杂的'bin'目录复制过程的奇特方式...

思考的食物我希望。

Dave

0

您有几个选择比在服务器上运行Studio更好。

根据您的团队规模,你可以:

  • 直接从VS发布
  • 持续集成,请Cruise Control对CI和文件同步的是
  • 组合方式(即CI测试服务器然后xcopy到生产)

我会主张CI,因为您倾向于更快地找到问题的方式,但它假定您正在使用良好的版本跟踪和测试实践。复制文件可能会产生意想不到的后果,如错过的文件,过时的文件开始保留等。

0

当您部署该方式时,任何获得对Web服务器的访问权限(如果托管的话可能无法控制)都可以查看并甚至可能会改变你的.aspx页面。

您可以在Visual Studio中使用的一种替代方法是将编译为二进制文件。您可以通过选择菜单Build> Publish>取消选中“允许此预编译站点可更新”复选框。“当然,这样做的缺点是,即使是页面HTML中最微小的变化,也需要重新编译代码并重新部署。

这是安全性和可管理性之间的明显折衷,但预编译也可以帮助提高性能。是的precompilation alternatives一个解释。

你也可以考虑的建议,Key Configuration Settings When Deploying a Web Application制造。简单地说,

如果您如Web部署Web应用程序,你可以控制一台机器,服务器位于公司内部网络或Web主机专用Web服务器您可以使用machine.config中的元素来强制Web服务器上的所有应用程序遵循上面提供的建议(即,使用自定义错误页面的,禁用输出跟踪以及不编译自动编译的代码调试模式)。只需将下面的标记添加到Machine.config文件中的元素<system.web>内:

<deployment retail="true" /> 

再次,这是一个非常简单的变化作出。