我正在使用 IIS7 作为我的 Web 应用程序,并且由于某种原因,应用程序池偶尔会崩溃(停止)。
当发生这种情况时,我希望收到电子邮件通知。这可能吗?
如果是,怎么办?
或者,我应该寻找一个服务器监控工具来帮助我解决这个问题?
答案1
打开健康监测,指向电子邮件提供商:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="[email protected]">
<network defaultCredentials="false"
host="example.com"
password="mypassword"
userName="emailauthenticationusername" />
</smtp>
</mailSettings>
</system.net>
<healthMonitoring>
<providers>
<add name="MailWebEventProvider"
type="System.Web.Management.SimpleMailWebEventProvider"
buffer="false" />
</providers>
<rules>
<add name="Application Lifetime Events Default"
eventName="Application Lifetime Events"
provider="MailWebEventProvider"
profile="Default"
minInstances="1"
maxLimit="Infinite"
minInterval="00:01:00"
custom="" />
</rules>
</healthMonitoring>
答案2
您可以检查事件查看器,看看应用程序池崩溃时是否有事件发生。您还可以尝试设置回收限制 - 这些措施更多的是预防而不是治疗。
另外,如果您使用 ASP.NET,您可以尝试在 Application_End/Application_Error 方法中向自己发送警报?