2009-06-29 9 views
0

簡単な「組み込みx.yz秒」テキストをページ下部に表示して、さまざまなオプションを簡単にチェックしたいと考えています。 (一部のページは、「通常の」ユーザによって前のページに入力されたパラメータを使用して作成され、彼の決定の結果も見たいと思っています)ASP.NET MVCとWebFormのページ作成時間

私はasp.netでトレースを使用することができますが、ユーザーフレンドリーな、私はそれがパフォーマンスのためにあまり良いことではないことを恐れている。

これはhttp://www.aspnetzone.de/blogs/peterbucher/archive/2008/03/16/requestdauer-mit-einem-httpmodule-und-response-filter-ausgeben.aspx(httpmodule、ドイツ語のウェブページ)は良い解決策だと思いますか?

ああ、私は今、いくつかのプロジェクトに取り組んだことから、私はasp.net MVCページ、およびWebフォーム:)

感謝のためにそれを行うしたいと思います!

答えて

0

生産コードでトレースを使用しないでください!

ドイツ語を読むことはできますが、おそらく、ページのコンストラクタに現在のDateTimeを格納し、現在の時刻とその保存時刻の時間差をOnPreRenderイベントに印刷して、時間を表示する - OnPreRenderイベントは、ページのレンダリングされたコンテンツを変更する可能性のあるページライフサイクルの最後のポイントです(何らかの後処理を行わずに)

これは、あなたのラベルのOnPreRenderイベントの後に何も処理しないでください。

1

HttpContextオブジェクトには、「http-request-start」のタイムスタンプが含まれています。

利用可能なスレッドが利用可能になるのを待っていた時間を差し引くことが重要でない限り、通常これで十分です。

だから、あなたが最も正確な時間が必要な場合は、手動のglobal.asax

void Application_PreRequestHandlerExecute(object sender, EventArgs e) 
    { 
     HttpContext.Current.Session.Add("LastPageStart", DateTime.Now); 
    } 

に開始時間を保存し、終了時からそれを引くことができます

DateTime.Now.Subtract(HttpContext.Current.Timestamp).TotalMilliseconds 

になり、時間を構築

Application_EndRequest 

ログをlog4netなどにする。

もちろん、ページの下部に表示する必要がある場合は、単純に健康状態を監視する情報を表示する代わりに、ページで手動で減算することもできます。