Exception ASP.NET应用程序池关闭问题

Exception ASP.NET应用程序池关闭问题,exception,iis-7,restart,application-pool,Exception,Iis 7,Restart,Application Pool,有时异常会导致应用程序池关闭。我手动启动它,但问题是如何在IIS 7.0(Windows server 2008)中自动执行此行为。打开IIS选择您的网站,然后在右侧看到操作 在浏览网站->高级设置下 选择start Automatically为true。如果应用程序池死亡,则对该池提供服务的资源的下一个请求将自动重新启动它。但是,如果在应用程序池上启用了快速故障保护,并且在故障间隔属性指定的间隔内,应用程序池死亡的次数超过了最大故障属性指定的次数,则您将收到503 Service Unavai

有时异常会导致应用程序池关闭。我手动启动它,但问题是如何在IIS 7.0(Windows server 2008)中自动执行此行为。

打开IIS选择您的网站,然后在右侧看到操作

在浏览网站->高级设置下


选择start Automatically为true。

如果应用程序池死亡,则对该池提供服务的资源的下一个请求将自动重新启动它。但是,如果在应用程序池上启用了快速故障保护,并且在故障间隔属性指定的间隔内,应用程序池死亡的次数超过了最大故障属性指定的次数,则您将收到503 Service Unavailable(503服务不可用)消息。此时,您必须手动重新启动应用程序池

要解决此问题,请禁用应用程序池的快速故障保护,或尝试在时间段内增加故障数,然后确定终止应用程序池的异常的根本原因


我在Windows Server 2012标准和IIS 8中遇到了类似的问题。末尾有一个字符的URL导致IIS发疯,并认为它们是恶意的。这会导致应用程序池失败,网站崩溃

您需要做的是观看事件查看器中的1309个事件。(在“事件ID”列中)可以使用任务计划程序进行设置。当您看到该事件时,您将重新启动应用程序池

要重新启动应用程序池,可以使用如下.vbs脚本:

设置oWebAdmin=GetObject(“winmgmts:root\WebAdministration”) 设置oAppPool=oWebAdmin.Get(“ApplicationPool.Name='DefaultAppPool')) '回收应用程序池。 奥普普尔,回收

如果你更喜欢的话,也可以使用Powershell

我使用了一个非常简洁的C#程序,我在这里找到了:

它做得很好,似乎可以解决前两种方法存在的一些权限问题。不过,我必须以管理员的身份运行此脚本


希望这有帮助。这并不能解决问题,但在找到解决此URL问题的方法之前,它会缓解压力

这已经是事实了,它是关于在IIS上启动网站的。我需要一些东西来监视
应用程序池
,并在出现故障时启动它们。下次请求时它不会重新启动。你能提供一个链接吗?@xaqron-当然,这里有一个到IIS应用程序池默认值的链接。特别令人感兴趣的是
startMode
属性。默认值是
onDemand
,它在收到第一个HTTP请求时启动应用程序池。您是否尝试过禁用快速失效保护?试试看,然后确保你的应用程序池已经启动。它还会死吗?您的应用程序和系统事件日志中有哪些与IIS相关的错误?@xaqron-已将
startMode
属性添加到IIS 7.5配置中,但是如果您正在运行IIS 7,应用程序池的默认行为将模拟
startMode=onDemand
,这应该在我之前链接的文档中说明。