.NET TIPS [ASP.NET]ページのトレース情報を出力するには?デジタルアドバンテージ2003/06/20 |
|
|
ASP.NETでは作成したWebアプリケーションのデバッグやプロファイルのために、トレース情報を表示するための機能が用意されている。
ページ・レベルのトレース表示
まず、各ページについてのトレース情報を表示するには、Visual Studio .NETではプロパティ・ウィンドウの一番上にあるドロップダウン・リストボックスで[DOCUMENT]を選択してから(フォームのDOCUMENTプロパティ)、traceプロパティを「true」に設定する。これは.aspxファイルの先頭に記述する「@ Page」ディレクティブの属性として「trace="true"」を追加するのと同等だ。
この状態でアプリケーションを実行すると、次の画面のように、ページ出力と同じ画面内にトレース情報が表示される。なおこの画面は、ページのレイアウト・モードが「フロー・レイアウト」の場合である。レイアウト・モードが「グリッド・レイアウト」の場合には、各コントロールの表示位置が絶対位置で指定されるため、トレース情報と配置したコントロールがかぶってしまう。グリッド・レイアウトを使用して開発している場合には、次項で述べるアプリケーション・レベルでのトレース表示を使用すればよいだろう。
ページ・レベルのトレース表示 |
アプリケーションの画面にトレース情報が追加された形で表示される。 |
トレース情報として表示されるデータは次のようなものである。
項目 | 概要 |
要求の詳細 | ページがアクセスされたときのリクエスト情報。 |
トレース情報 | ページが要求されてから最終的なHTMLが作成されるまでにサーバ側で処理されたイベントと、それに要した時間。この時間情報はパフォーマンス・チューニングに利用できる |
コントロールのツリー | ページを構成しているコントロールのツリー。各コントロールが出力するHTMLのサイズと、状態復元のためのビューステートのサイズも表示される |
クッキー・コレクション | クライアントが送信したHTTPヘッダに含まれているクッキー情報のコレクション |
ヘッダー・コレクション | クライアントが送信したHTTPヘッダの情報のコレクション |
フォーム・コレクション | フォーム変数のコレクション |
サーバ変数 | サーバ変数のコレクション |
トレース情報として表示される項目とその概要 |
各項目の詳細については、リファレンス・マニュアルの「トレース情報の読み取り」の項を参照していただきたい。
なお、上表中のトレース情報以外の情報は、ページ内からもRequestプロパティ経由で得られるHttpRequestクラス(System.Web名前空間)のオブジェクトの各プロパティにより取得できる。
アプリケーション・レベルのトレース表示
いま述べたページ・レベルのトレース表示は、各ページで個別にトレースの制御をオン/オフするものだが、アプリケーション全体でのトレース表示を行う機能も用意されている。この設定は、アプリケーションのルート・ディレクトリにあるWeb.configファイルで行う。Visual Studio .NETを使用している場合には、すでにこのファイルがプロジェクトに含まれているはずだ。このファイルを表示し、次の画面のように、<trace>要素のenabled属性をtrueにするだけでとりあえず設定は完了である。
Webアプリケーションの設定ファイルであるWeb.configファイル |
アプリケーション・レベルのトレース表示を行うには、<trace>要素のenabled属性をtrueに書き換える(デフォルトはfalse)。 |
この状態では、各ページにトレース情報は表示されない。トレース情報を表示するには、「トレース・ビューア」を使用する。これは、上の図中のコメント部分にもあるように、アプリケーションのルート・ディレクトリの「trace.axd」をブラウザで開けば表示される。
例えばプロジェクト名が「TraceSample1」の場合、実行されるWebページのURLは、
http://localhost/TraceSample1/WebForm1.aspx
などになるが、この場合にはトレース・ビューアのURLは次のようになる。
http://localhost/TraceSample1/trace.axd
trace.axdというファイルが実際に存在するわけではないが、このURLを開けば次のような画面を表示することができる。
トレース・ビューアの表示画面 |
この画面を表示するには、アプリケーションのルート・ディレクトリの「trace.axd」をブラウザで開く。「詳細の表示」リンクをクリックすると、各ページのトレース情報を表示できる。 |
このトレース・ビューア画面には、アプリケーションが受けたリクエストが一覧表示されている(必要に応じて画面をリロードさせなければならない)。リストから「詳細の表示」リンクをクリックすれば、各ページについて先ほどと同じ形式のトレース情報が表示される。
トレース・ビューアで「詳細の表示」をクリックした場合の画面 |
各ページのトレース情報が表示される。内容はページ・レベルのトレース表示により表示されるものと同じだ。 |
このように、アプリケーション・レベルでのトレース表示は、表示までにほんの少し手間がかかるが、設定はWeb.configファイルを書き換えるだけでよく、別画面にトレース情報を表示できる、以前のページのトレース情報が表示できる(デフォルトでは10件だが<trace>要素のrequestLimit属性で変更可能)などのメリットがある。
カテゴリ:Webフォーム 処理対象:トレース 使用キーワード:@Pageディレクティブ 使用キーワード:<trace>要素 |
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|