2011-10-11 124 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