2012-06-26 149 views
1

我想在mvc3應用程序中進行健康監測。mvc3健康監測

我正在使用eventviewer。但我想將這些事件和錯誤保存到Sql服務器數據庫中。

<healthMonitoring enabled="true" heartbeatInterval="10"> 
     <providers> 
    <clear/> 
    <add name="EventLogProvider" type="System.Web.Management.EventLogWebEventProvider,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" /> 

    <add connectionStringName="LocalSqlServer" maxEventDetailsLength="1073741823" 
     buffer="false" bufferMode="Notification" name="SqlWebEventProviderlane" 
     type="System.Web.Management.SqlWebEventProvider,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" /> 

    </providers> 

    <profiles> 
    <add name="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" 
       custom="" /> 
      <add name="Critical" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" 
       custom="" /> 
    </profiles> 

    <rules> 
    <clear/> 

    <add name="All Errors Default" eventName="All Events" provider="EventLogProvider" 
     profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" 
     custom="" /> 
    <add name="Failure Audits Default" eventName="Failure Audits" 
     provider="EventLogProvider" profile="Default" minInstances="1" 
     maxLimit="Infinite" minInterval="00:01:00" custom="" /> 
    </rules> 

    <eventMappings> 
    <clear/> 
    <add name="All Events" type="System.Web.Management.WebBaseEvent,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" 
      startEventCode="0" endEventCode="2147483647" /> 
      <add name="All Errors" type="System.Web.Management.WebBaseErrorEvent,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" 
     startEventCode="0" endEventCode="2147483647" /> 
     </eventMappings> 

</healthMonitoring> 

如何做到這一點?

回答

0

在規則部分,你必須參考同名稱的提供「SqlWebEventProviderlane」:

<add name="All Errors Default" eventName="All Events" provider="SqlWebEventProviderlane" 
    profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" 
    custom="" /> 

然後,你必須提供與名稱的連接字符串「LocalSqlServer」一節中,這點到你的數據庫。

<connectionStrings> 
    <add name="LocalSqlServer" connectionString="data source=serverName;initial catalog=yourDataBase;..."/> 
</connectionStrings> 

而且您必須使用aspnet_regsql工具準備數據庫。