タグ付けされた質問 「ihttpmodule」

15
ASP.NET MVCとIIS7で生のHTTPリクエスト/レスポンスをログに記録する
私は(ASP.NET MVCを使用して)Webサービスを作成しています。サポートの目的で、要求と応答を生のオンザワイヤー形式(HTTPを含む)に可能な限り近い形で記録できるようにしたいと考えていますメソッド、パス、すべてのヘッダー、および本文)をデータベースに挿入します。 私がよくわからないのは、このデータを最小限の「壊れた」方法で取得する方法です。HttpRequestオブジェクトのすべてのプロパティを検査し、それらから文字列を作成することで(そして同様に応答についても)、要求がどのように見えるかを再構成できますが、実際の要求/応答データを取得したいと思いますワイヤーで送った。 フィルター、モジュールなど、任意のインターセプトメカニズムを使用できて嬉しいです。ソリューションはIIS7に固有のものにすることができます。ただし、マネージコードでのみ保持することをお勧めします。 何かお勧めですか? 編集:私はそれHttpRequestがSaveAsリクエストをディスクに保存できるメソッドを持っていることに注意しますが、これはパブリックにアクセスできない内部ヘルパーメソッドのロードを使用して内部状態からリクエストを再構築します(これがユーザー指定の保存を許可しない理由わからないストリーム)。オブジェクトからリクエスト/レスポンステキストを再構築するために最善を尽くさなければならないように見え始めています...うめき声。 編集2:メソッド、パス、ヘッダーなどを含むリクエスト全体を言ったことに注意してください。現在の応答は、この情報を含まないボディストリームのみを確認します。 編集3:誰もこの辺りの質問を読みませんか?これまでのところ5つの回答はありますが、1つもまだ完全な未加工のオンザワイヤー要求を取得する方法を示唆していません。はい、出力ストリーム、ヘッダー、URL、その他すべてをリクエストオブジェクトからキャプチャできることはわかっています。私はすでに質問で言った、参照してください: HttpRequestオブジェクトのすべてのプロパティを検査し、それらから文字列を作成することで(そして同様に応答の場合も)、要求がどのように見えるかを再構成できますが、実際の要求/応答データを取得したいと思いますそれはネットワーク上で送信されます。 あなたが知っている場合は、完全な(ヘッダ、URL、HTTPメソッド、などを含む)生データを単に知っていることは有用であろうこと、次に取得することはできません。同様に、再構築することなくすべてを未加工の形式で取得する方法を知っている場合(はい、私はまだヘッダー、URL、httpメソッドなどを含めることを意味します)、これは私が尋ねたとおり、非常に便利です。しかし、HttpRequest/ HttpResponseオブジェクトから再構築できると言っても役に立たない。そんなこと知ってる。私はすでにそれを言った。 注意:これが悪い考えだとか、スケーラビリティを制限するなどと言う前に、分散環境でスロットル、順次配信、およびリプレイ防止メカニズムも実装する予定なので、とにかくデータベースロギングが必要です。これが良いアイデアかどうかの議論を探しているのではなく、それをどのように実行できるかを探しています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.