当我在集成模式下运行时,我似乎无法获得健康监控来记录事件。如果我将应用程序池切换为以经典模式运行,它工作正常。
我是否缺少某种配置或 IIS 设置来使其正常工作?
这是我的健康监控配置部分:
<healthMonitoring enabled="true">
<bufferModes>
<add name="CriticalBufferMode"
maxBufferSize="100"
maxFlushSize="20"
urgentFlushThreshold="1"
regularFlushInterval="Infinite"
urgentFlushInterval="00:01:00"
maxBufferThreads="1"/>
</bufferModes>
<providers>
<clear />
<add connectionStringName="HealthMonitoring"
maxEventDetailsLength="1073741823"
buffer="true"
bufferMode="CriticalBufferMode"
name="SqlWebEventProvider"
type="System.Web.Management.SqlWebEventProvider" />
<add name="MailEventProvider"
type="System.Web.Management.SimpleMailWebEventProvider"
from="test@test.com"
to="test@test.com"
buffer="true"
bufferMode="CriticalBufferMode"
maxEventLength="4096"
bodyHeader="Error information"
maxMessagesPerNotification="10" />
</providers>
<profiles>
<add name="Critical" minInstances="1" maxLimit="Infinite" minInterval="00:00:00"/>
</profiles>
<eventMappings>
<clear />
<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent" startEventCode="0" endEventCode="2147483647" />
</eventMappings>
<rules>
<clear/>
<add name="AllErrorsSql" eventName="All Errors" provider="SqlWebEventProvider" profile="Critical"/>
<add name="AllErrorsMail" eventName="All Errors" provider="MailEventProvider" profile="Critical" />
</rules>
</healthMonitoring>