发生错误时重置ASP.NET站点上的IIS

时间:2011-04-11 07:04:52

标签: asp.net iis error-handling

我有一个ASP.NET网站,在某些非常罕见的情况下会出现导致大量请求失败的错误。所有页面的错误都被捕获并记录在我的基类的OnError覆盖中,所以我知道错误发生的时间。

由于此错误非常罕见,我想在发生iis时重置它,以便网站恢复正常运行。

我的问题:关于下面的OnError代码,我该如何重置IIS? 我可以运行iisreset或使用类似的东西导致iis崩溃 System.Environment.Exit(-1)。什么是重置iis的首选方法?

    Protected Overrides Sub OnError(ByVal e As EventArgs)
        LogException(Server.GetLastError())
        MyBase.OnError(e)
    End Sub

1 个答案:

答案 0 :(得分:0)

首先,正如其他人所指出的,您需要重新启动ASP.NET应用程序而不是IIS(Web服务器)。实现这一目标的两种方法可能是

  1. 触摸(修改)web.config(类似的替代方法是触摸/修改bin文件夹)
  2. 要求AppDomain卸载(使用HttpRuntime.UnloadAppDomain
  3. 检查讨论此方法的this article

    我还建议您考虑期间应用程序池回收(可能来自IIS配置)作为替代方案。