2012-07-19 53 views
2

我正在測試ASP.NET MVC中的一些錯誤處理,但我的例外每分鐘只能記錄一次(至少看起來是這樣)。執行ASP.NET或Windows事件日誌速率限制嗎?

我的customErrors打開:

<customErrors mode="On" defaultRedirect="~/Home/Error"> 

和我刪除了HandleErrorAttribute全局濾波器。我的控制器和操作沒有HandleError屬性。

我有拋出一個異常,像這樣的控制器操作:

public ActionResult Test() 
{ 
    var random = new Random(); 

    throw new Exception(random.Next().ToString()); 
} 

但是,如果我去這個頁面多次(不能只是刷新,因爲它重定向)我只看到在Windows事件1事件日誌每分鐘。我嘗試從另一個瀏覽器打到同一頁面,並且該異常也未記錄。

是否有某種由ASP.NET或Windows事件日誌完成的速率限制?

+0

稍微偏離主題,但我建議['安裝,包裝Elmah.MVC']( http://nuget.org/packages/Elmah.MVC) – 2012-07-19 14:09:48

+0

是的,我已經在這裏投了。現在,我看到我們是否可以刪除自定義事件日誌記錄代碼,以便自動讓框架和Windows日誌異常。 – 2012-07-19 14:13:00

回答

0

速率限制由ASP.NET根據minInterval對System.Web/healthMonitoring /規則的屬性來完成/添加和在Web.config

https://msdn.microsoft.com/library/23t1tcty%28v=vs.100%29.aspx對System.Web/healthMonitoring /簡檔/添加元素

爲了登錄您可以添加這個到Web.config所有錯誤(source):

<system.web> 
    <healthMonitoring> 
     <rules> 
      <!-- Make sure all errors are logged to the EventLogProvider ("Default" profile only allows 1 error per minute) --> 
      <remove name="All Errors Default" /> 
      <add name="All Errors Default" eventName="All Errors" profile="Critical" provider="EventLogProvider" /> 
     </rules> 
    </healthMonitoring> 
</system.web>