1

.NET 4.5 バージョンの WIF を使用してユーザー ID を提供する ASP.NET MVC アプリケーションをデバッグしようとしています。これらのクレームは、そのユーザーに固有のリモート STS によって生成されるため、開発環境で特定のユーザーに対してどのクレームが受信されているかをテストすることは困難です。

私が望むのは、ユーザーがシステムを使用しているときに、肩越しにユーザーの主張を確認できるメカニズムです。ASP.NET WebForms トレース システムは、トレース情報のソースおよびそれを表示するための便利なメカニズムであるとすぐに思いつきましたが、ASP.NET MVC で同等のものを知りません。

テスターでデバッグ中にこの情報を公開する組み込みのメカニズムはありますか?

4

2 に答える 2

1

オプション

Glimpse - ステロイドの webform inpage trage/trace.axd のようなもの。MVC アプリにはうまく機能しますが、Web フォームを提供するものはほとんどありません (ただし、チームは大きなことを約束していますが、注目すべき領域です)。

trace.axd - Trace.Write の出力はここに表示されます。ビジー状態のサーバーで実行しようとしたことはありません。trace.axd へのアクセスは、mcv アプリでは機能するはずですが、ページ内トレースが mvc で機能するかどうかはわかりません。そうではないと思いますが、試したことはありません。

<% "Some trace" %> -- すべての画面に診断をダンプしてフッターに配置するか、フッターに配置してテキストを白地に白くすることがあります。これにより、ユーザーに表示方法とコピー方法を指示できます。ですが、通常は表示されません。

System.Diagnostics TraceSource および関連するクラス - Trace.Write よりは優れていますが、トレースを頻繁に使用するといくつかの欠点があります。それでも、お気に入りのトレース/ログ ライブラリが利用できるとは限らないシナリオもあります。これを使用する場合、カスタム リスナーを作成し、ユーザーの診断データをデータベースまたはファイルに書き込みます。ファイル用のリスナーは既に存在します。

Log4Net -- トレース/ロギング フレームワーク。コンソール、データベース、ファイルなど、さまざまな場所への書き込みをサポートします。System.Diagnostics ほど設計上の欠陥はありませんが、アプリに依存関係を追加する必要はありません。System.Diagnostics と同じものを使用します。ファイルまたはデータベースにログを記録し、そこでユーザーの STS 値を調べます。

私は WIF や STS を使用する幸運に恵まれたことはありませんが、オブジェクトとそのプロパティをきれいに印刷することは、ほとんどすべてのオブジェクトで同じだと思います。特定の情報を抽出する方法を知る必要がある場合は、WIF/STS の質問を個別に投稿することをお勧めします。

于 2013-01-21T15:18:31.120 に答える
0

まあ-デバッグ中にVSの出力ウィンドウにTrace.Writeデータが表示されます。多分それで十分です。System.IdentityModel トレース ソースのトレース リスナーを追加して、トークン/クレームの処理をより詳しく把握することもできます。

于 2013-01-17T20:00:00.987 に答える