0
HttpModuleを使用するMVCアプリケーション用のロギングフレームワークがあります。他の関数の中でも、リクエストの応答時間を計るのにこれを使用します。Response.RedirectによるWebロギング
タイミングを開始するためにPostAcquireRequestStateを添付して初期化します。 PostRequestHandlerExecuteのタイミングを停止し、データベースにログを記録します。初期化ロジックについては、以下を参照してください。
public void Init(HttpApplication context)
{
context.PostAcquireRequestState += OnBeginRequest;
context.PostRequestHandlerExecute += LogRequest;
}
ASP.Net MVCでは、これは素晴らしい動作です。
私たちは従来のWebFormsアプリケーションにこれを適用しようとしています。これらの2つのイベントは、Response.Redirect()関数が呼び出された場合を除いて正しく機能します。ページのライフサイクルについて複数のWebページを検索すると、Response.Redirectが実行された後にスローされるイベントに関する情報を見つけることができません。
あなたが 'ThreadAbortException'を投げるので、あなたが' Response.Redirect( "url"、false) 'を実行しない限り、何の出来事もありません。 – mason
それは私が避けようとしている一歩です。これを行うには、非常に大規模な3つのWebアプリケーションにソースコードの更新を要求する必要があります。 –