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

11

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

4个回答

10

2
这篇文章中的信息现在有点过时了。请查看http://weblogs.asp.net/scottgu/archive/2010/07/29/vs-2010-web-deployment.aspx,了解VS2010的选项。 - Josh Gallagher

8

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

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


6
嗯,这取决于您从可用性和运行时间的角度来看要达到什么目标。发布/xcopy/installer选项都很有趣,但它们都忽略了一个问题,就是这些选项需要时间才能完成。从第一个文件被复制到目录中到最后一个文件被复制到站点中,网站处于不一致的状态。
ASPX文件可能会引用尚未在bin目录中的数据层对象,或者bin目录中可能有一个带有更改参数设置的DLL函数,但aspx尚未安装,因此aspx仍在寻找旧函数。简而言之,由于部署过程不是原子过程,所以你可能会遇到问题。
我们通过将新文件安装到新目录中,然后进入IIS并更改网站指向新目录来解决了这个问题。这使得更改成为原子过程,并使事情变得更加顺畅。这完美吗?没有。您可能会遇到视图状态问题或会话问题(会话已保留,但新代码可能正在查找旧代码未设置的会话内容),但它仍使过程更加顺畅。
当然,这些解决方案都没有解决升级网站的另一个非原子部分...数据库。同样,更改DB架构的过程需要时间。您是首先升级代码还是数据库?DB更改是否能够在不进行代码更改的情况下工作(支持null或具有默认值的新列),或者代码更改是否能够在不进行DB更改的情况下工作(删除列)?这是一种逐案分析,并且这些解决方案都没有解决。
当然,如果您可以让用户在一段时间内离开网站,那就容易多了,但如果您想实现100%的可用性,则不会那么简单。

1
有时候将 Web Publish 设置到目标地址并不实际。如果是这种情况,你可能仍然可以将网站发布到本地计算机(如下所述),然后使用 XCOPY 部署到目标地址。
  1. 在 IIS 中单击 Sites,选择添加网站
  2. 设置新的网站,如图所示,然后单击确定 enter image description here
  3. 在以管理员权限运行的 Visual Studio 中,右键单击 ASP.NET 网站项目,选择发布...
  4. 单击配置文件标题,在下拉菜单中选择新的自定义配置文件...
  5. 输入一个类似于“localhost44321”的配置文件名称,如图所示设置配置文件,然后单击发布 enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接