2

ASP.NET MVCでいくつかのエラー処理をテストしていますが、例外は1分に1回しかログに記録されません(少なくともそのように見えます)。

CustomErrorsをオンにしました:

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

そして、HandleErrorAttributeのグローバルフィルターを削除しました。コントローラとアクションにHandleError属性がありません。

次のような例外をスローするコントローラーアクションがあります。

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

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

ただし、このページに複数回アクセスすると(リダイレクトされるため、更新することはできません)、Windowsイベントログに1分ごとに1つのイベントしか表示されません。別のブラウザから同じページをヒットしようとしましたが、その例外もログに記録されませんでした。

ASP.NETまたはWindowsイベントログによって行われるある種のレート制限はありますか?

4

1 に答える 1

0

レート制限は、system.web/healthMonitoring/rules/add の属性 minInterval および Web.config の system.web/healthMonitoring/profiles/add 要素に従って、ASP.NET によって行われます。

https://msdn.microsoft.com/library/23t1tcty%28v=vs.100%29.aspx

すべてのエラーをログに記録するには、これを 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>
于 2016-02-23T12:03:22.077 に答える