2012-07-19 43 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>