我有一个ASP.NET Web应用程序(Visual Stuido项目类型),其中所有内容都编译成单个程序集,它部署在IIS中。我的问题是,如果我有一个新版本的程序集,可以在IIS中替换它而不会导致IIS崩溃吗?或者为了安全起见,我应该先关闭Web服务器,然后更换组件并重新启动吗?我正在寻找一种更好的解决方案来减少服务器停机时间?
答案 0 :(得分:2)
是。但它会立即引起应用程序池回收。
引用MSDN Blog:
更改以下文件也会触发立即重启应用程序池:
- 的web.config
- machine.config中
- 的global.asax
- bin目录中的任何内容或其子目录
答案 1 :(得分:1)
我们已经多次使用Visual Studio安装程序重新安装应用程序,并且它已经毫无问题地替换了程序集。我们唯一发现的是,我们第一次打开网页需要一段时间才能打开 - 可能是因为它在新程序集中读取。我们没有必要进行IIS重置或类似的事情。
此外,在我们的开发环境中(因为我很懒)我经常只是覆盖Web服务器上的程序集,并且表现出与上面相同的行为。
关闭IIS不是我们的选择,因为我们有许多网站在同一台服务器上运行。
我无法保证这是最好的方法,或者它不会导致问题,但它对我们有用。