2010-12-06 11 views
0

従来のアプリケーションには、part-ASP.NET WebFormsとpart -ASP.NET MVCがあります。MVCルーティングによるWebFormsページのパフォーマンスログ

すべてのURLにMVC「スタイル」を付けるために、WebForms URLに必要なURLをマップする一連のルートが登録されています。

我々はActionFilterAttributeから継承しOnActionExecutingOnActionExecutedをオーバーライドするカスタム属性を経由してアクションメソッドのパフォーマンスログを実装したMVCコントローラ上

routes.Map("somemapping", "NiceUrl/{page}").To("~/UglyUrl/UglyPath/{page}.aspx"); 

WebFormsページでも同様のログを実装したいと考えています。それはそこからルーティング部分とログにフックすることは可能ですか?

答えて

1

System.Diagnostics.StopWatchを使用すると、グローバルレベルで問題を解決できます。

これは私の提案する解決策です。

1.アプリケーションでは、BeginRequestはStopWatchの新しいインスタンスをインスタンス化します。
2.ストップウォッチインスタンスでstartメソッドを呼び出します。
3.ストップウォッチをHttpContext.Current.Itemsコレクション
に配置します。4.アプリケーションEnd Requestで、httpcontextアイテムからStopWatchインスタンスを取得し、stopメソッドを呼び出し、選択した "Elapsed"プロパティを使用しますあなたが保存したい時間のデータを取得するために、

これは、すべてのリクエスト、mvcとwebformsの処理時間を測定できる単一の場所を提供します。

関連する問題