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

  1. 最好等到人们不在深夜(是的,我几乎可以依靠它 - 这是一个Intranet,因此会有不使用的时间)
  2. 在对中继线进行新的更新时发布(当然取决于构建成功)
  3. 如果 2 为真,那么如果有人使用该特定页面或 DLL 并且它被覆盖,那就很糟糕了。

...我确信有很多适合此类事情的好地方,但我没有使用正确的谷歌搜索词。

有帮助吗?

解决方案

@Nick DeVore 写道:

如果2是正确的,那么如果某人使用该特定页面或DLL并被覆盖,那似乎很糟糕。

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

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

@Nick DeVore 写道:

帮助我更多地了解这一点。将我指向Microsoft解释的地方。谢谢!

尝试使用 google 搜索“IIS AppDomain”关键字。我发现 ASP.NET 程序员应该了解哪些关于应用程序域的知识.

其他提示

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

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

斯科特·格思里 (Scott Guthrie) 在这里提供更多信息:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top