如何部署/发布ASP.NET网站?

时间:2009-03-14 19:27:25

标签: asp.net deployment asp.net-2.0

有没有简单的方法来部署/发布用asp.net编写的网站? 部署和发布有什么区别?

4 个答案:

答案 0 :(得分:9)

这是一个显示如何完成此任务的不同技术的网站。有许多技术可用作Web应用程序的部署策略:

Beansoftware How to Deploy ASP.NET Web Application

答案 1 :(得分:8)

Alt + B + H 组合(打开ASP.NET网站/应用程序的发布窗口)是将应用程序部署到所需位置的最简单方法。

用于编译和部署应用程序到服务器的发布。

答案 2 :(得分:6)

嗯,这取决于您从正常运行时间/可用性角度来看要实现的目标。 publish / xcopy / installer选项很有意思,但都忽略了解决这些选项需要时间才能完成的问题。从第一个文件复制到目录到最后一个文件在站点中复制的时间处于不一致状态。

ASPX文件可能是指尚未在bin目录中的数据层对象,或者bin目录中可能有一个DLL,其函数上有一组更改的params,但是还没有安装aspx但是,aspx仍在寻找旧功能。简而言之,因为部署不是原子过程,您可能/将会遇到问题。

我们通过将新文件安装到新目录,然后进入IIS并将网站更改为指向新目录来解决此问题。这使得更改成为原子过程并使事情变得更加顺畅。它完美吗?不。您可以查看状态问题或会话问题(会话已保留,但新代码可能会查找旧代码未设置的会话中的某些内容),但它仍然使该过程更加顺畅。

当然,这些解决方案都没有涉及升级网站......数据库的其他非原子部分。同样,更改数据库架构的过程需要时间。您是先升级代码还是先升级数据库? DB更改是否可以更改代码更改(支持null或具有默认值的新列),或者代码更改是否可以更改数据库更改(删除列)?这是一个案例分析,并没有通过任何这些解决方案解决

当然,如果你可以让用户离开网站一段时间,那么生活会更容易,但如果你想要达到100%的正常运行时间,那就不那么简单了。

答案 3 :(得分:0)

有时将Web Publish设置为您想要的目标是不切实际的。如果是这种情况,您仍然可以发布到本地计算机(如下所述),然后XCOPY部署到您的目标。

  1. 在IIS中,右键单击“站点”,然后单击“添加网站”
  2. 如图所示设置新网站,然后单击“确定” enter image description here
  3. 在Visual Studio中(使用管理员权限运行),右键单击ASP.NET Web项目,选择发布...
  4. 单击“配置文件”标题,然后从下拉列表中选择“新建自定义配置文件...”
  5. 输入个人资料名称,例如" localhost44321",如图所示设置个人资料,然后点击发布 enter image description here