可以在运行期间替换ASP.NET Web应用程序程序集

时间:2013-11-20 08:51:41

标签: asp.net asp.net-mvc iis

我有一个ASP.NET Web应用程序(Visual Stuido项目类型),其中所有内容都编译成单个程序集,它部署在IIS中。我的问题是,如果我有一个新版本的程序集,可以在IIS中替换它而不会导致IIS崩溃吗?或者为了安全起见,我应该先关闭Web服务器,然后更换组件并重新启动吗?我正在寻找一种更好的解决方案来减少服务器停机时间?

2 个答案:

答案 0 :(得分:2)

是。但它会立即引起应用程序池回收。

引用MSDN Blog

  

更改以下文件也会触发立即重启应用程序池:

     
      
  • 的web.config
  •   
  • machine.config中
  •   
  • 的global.asax
  •   
  • bin目录中的任何内容或其子目录
  •   

答案 1 :(得分:1)

我们已经多次使用Visual Studio安装程序重新安装应用程序,并且它已经毫无问题地替换了程序集。我们唯一发现的是,我们第一次打开网页需要一段时间才能打开 - 可能是因为它在新程序集中读取。我们没有必要进行IIS重置或类似的事情。

此外,在我们的开发环境中(因为我很懒)我经常只是覆盖Web服务器上的程序集,并且表现出与上面相同的行为。

关闭IIS不是我们的选择,因为我们有许多网站在同一台服务器上运行。

我无法保证这是最好的方法,或者它不会导致问题,但它对我们有用。