发布到IIS-最佳做法

时间:2020-03-05 18:39:46  来源:igfitidea点击:

我对Web发布并不陌生,但是对于经常使用的网站发布我并不陌生。以前,此服务器上的应用程序很少受到攻击,但我们正在推出需求量很大的应用程序。那么,发布到实时Web服务器的最佳实践是什么?

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

...我确定这类事情有很多不错的地方,但是我没有使用正确的Google搜索字词。

解决方案

回答

@Nick DeVore wrote:
  
  If 2 is true, then that seems bad if
  someone is using that specific page or
  DLL and it gets overwritten.

如果我们使用的是ASP.NET堆栈(Webforms,MVC或者滚动自己的框架),这并不是真正的问题,因为所有的aspx文件都已编译,因此不会被Web服务器使用。 / bin /文件夹在其他位置完全被遮盖,因此Web服务器也不使用其中的库。

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

@Nick DeVore wrote:
  
  Help me understand this a little bit
  more. Point me to the place where this
  is explained from Microsoft. Thanks!

尝试使用google搜索" IIS AppDomain"关键字。我找到了ASP.NET程序员应该了解的有关应用程序域的知识。

回答

我们会在凌晨几个小时内完成大部分更新。

方便的提示(如果这是ASP.NET网站),无论我们在一天中的什么时间推出,都应放入App_Offline.htm文件,并向用户说明该站点已停止维护。

Scott Guthrie在这里有更多信息:

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