2011-10-11 118 views
2

谁在触发事件?在<healthMonitoring enabled="true" heartbeatInterval="30">中启用该功能的后果/好处是什么,除了它在日志中每隔30秒出现一次?它与NLB心跳有什么关系?什么时间间隔更适合生产使用?了解ASP.NET健康状况监测中的心跳

回答

3

在web.config中以这种方式启用它会导致应用程序域周期性地(在你的情况下每30秒)引发一个WebHeartbeatEvent,主要是为了检查你的应用程序是否仍然活着(如检查人的心跳)。你可以像这样指定其他规则:

<healthMonitoring enabled="true" heartbeatInterval="100"> 
    <rules> 
    <add name="Heart Beat Events" 
     eventName="Heartbeats" 
     provider="EventLogProvider" 
     profile="Default" 
     minInterval="00:01:00" /> 
    </rules> 
</healthMonitoring> 

指定“EventLogProvider”将导致事件被记录到事件日志,但你也可以编写自己的供应商,see here.

它无关顺便说一句,NLB心跳只用于负载平衡的目的。

+0

这是否意味着如果回收周期大于heartbeatInterval,我的应用程序池将永远不会被回收? – UserControl

+0

@UserControl:是什么让你这么想? –

+0

我不明白“要检查你的应用程序是否'仍然活着'”。那么谁来提高这个事件? ASP.NET工作进程?或者它是由应用程序本身引发的?如果后者和应用程序闲置IIS将回收它,不是吗? – UserControl