发布到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