5

我对网络发布并不陌生,但我对针对经常使用的网站进行发布并不陌生。以前,此服务器上的应用程序不经常被点击,但我们正在推出一个高需求的应用程序。那么,发布到实时 Web 服务器的最佳实践是什么?

  1. 最好等到半夜没有人上网(是的,我几乎可以依赖它——它是一个内部网,因此会有时间不使用)
  2. 在对主干进行新更新时发布(当然取决于构建成功)
  3. 如果 2 为真,那么如果有人正在使用该特定页面或 DLL 并且它被覆盖,那似乎很糟糕。

...我敢肯定这种事情有很多好地方,但我没有使用正确的谷歌搜索词。

4

2 回答 2

2

@Nick DeVore 写道:

如果 2 为真,那么如果有人正在使用该特定页面或 DLL 并且它被覆盖,那似乎很糟糕。

如果您使用的是 ASP.NET 堆栈(Webforms、MVC 或滚动您自己的堆栈),这并不是真正的问题,因为您的所有 aspx 文件都会被编译,因此不会被网络服务器触及。/bin/ 文件夹完全隐藏在其他地方,因此网络服务器也不使用其中的库。

IIS 将等到所有请求都完成(尽管有一些超时),然后将继续编译(如果需要)并重新启动 AppDomain。如果只更改了几个文件,甚至不会重新启动 AppDomain。IIS 会将新程序集(或编译的 aspx/asmx/ascx 文件)加载到现有的 AppDomain 中。

@Nick DeVore 写道:

帮助我更多地理解这一点。将我指向微软解释这一点的地方。谢谢!

尝试用谷歌搜索“IIS AppDomain”关键字。我找到了ASP.NET 程序员应该了解的关于应用程序域的知识。

于 2008-08-14T23:21:58.387 回答
0

我们在凌晨进行大部分更新。

方便的提示,如果这是一个 ASP.NET 站点,无论您在一天中的什么时间推出,放入一个 App_Offline.htm 文件,其中包含一条消息,向用户解释该站点因维护而关闭。

斯科特·格思里在这里有更多信息:

http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx

于 2008-08-15T00:07:21.917 回答