問題タブ [ihttpmodule]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - IIS6 で実行されている .NET 4.0 アプリで応答ヘッダーを読み取るにはどうすればよいですか?
必要に応じて要求/応答情報をログに記録できるように、カスタム IHttpModule 実装者を作成しています。ただし、応答ヘッダーを読み取ろうとしたときにつまずきました。HttpResponse.Headers は、IIS7 で統合パイプライン モードで実行している場合にのみサポートされるようになりました。IIS6 でホストされている Web アプリケーションにこのモジュールをインストールする必要があるため、この情報を取得する別の方法が必要です。
これを達成するための最良の方法は何ですか?
asp.net - IHttpModule でクライアントに応答が送信された後にインターセプトできますか
すべての HTTP 要求と応答をログに記録するために使用されるカスタム IHttpModule があり、これは現在非常にうまく機能していますが、実際に応答にかかる時間を判断できるように拡張したいと考えています。
応答は HttpApplication.EndRequest イベントに記録されますが、このイベントは要求が実際に Web クライアントに送信される前に発生します。これにより、サーバーが応答を処理するのにかかった時間を判断できますが、クライアントが応答を受信するのに実際にかかった時間を計ることもできれば幸いです。
クライアントが応答の受信を完了した後にインターセプトできるイベントまたはその他のメカニズムはありますか?
asp.net - IIS 6 で HttpModule が Cookie を受信しない
作成した HttpModule があり、Windows Server 2003 を使用して IIS 6 で実行しています。Cookie をブラウザーに送信できますが、次の要求で読み取ることができません。Cookie は常に null です。
ただし、このモジュールを IIS 7 で実行すると、問題なく動作します。IIS 7 は、まだ切り替えていないため、現時点ではオプションではありません。その前に、これを完了する必要があります。
また、私はすでに PostAcquireRequestState フックを使用してみました。
.net - IIS7 で .NET Response.Filter が Write() を呼び出さない
応答フィルターを追加し、要求されたファイルにいくつかの変更を加える .NET IHttpModule があります。ただし、これは Visual Studio を介して機能しますが、IIS を介してこの作業を行うことはできません。II7、v2.0.50727 フレームワークを使用。
応答フィルターは、IHttpModule の BeginRequest イベントに追加されます...
以下を呼び出します...
Response Filter の Flush() メソッドと Close() メソッドが呼び出されていることがわかりますが、Write() のブレークポイントにはヒットしません。
Write() が呼び出されない理由を説明してくれる人はいますか?
私のweb.configは、IIS7とVisual Studioの両方のモジュール(モジュールとhttpmoduleなど)を登録するように正しくセットアップされています
これはまさにここで見つかった問題です-ASP.NET Response.FilterはWriteを呼び出しません-そこから私の問題を解決する答えが見つかりませんでした。
asp.net - asp.net でクエリ文字列を動的に変更する
クライアントは、クエリ文字列で値を渡しているため、URL を暗号化するよう求めています。暗号化を使用しており、URL を暗号化できます。ただし、既存のコードはquerystring["var"]
非常に多くの場所で使用されており、URL が暗号化されているために失敗します。したがって、ページの読み込み時に、URL を復号化する必要があります。を使用してクエリ文字列を復号化して変更するとresponse.redirect
、再びクエリ文字列が URL に表示され、悪用される可能性があります。
助けてください。
編集 RESTfull Web サービスについて読んでいました。私はまだ全体の概念を理解していません。これをアプリケーションで使用して、クエリ文字列を非表示にできるかどうか疑問に思います。その場合はお知らせください。
ありがとう。
asp.net - ASP.NET および IIS7 で生および圧縮された HTTP 応答をログに記録する
この質問に沿って、リクエストとレスポンスのカスタム ロギングを行う HttpModule を作成したいと思います。その質問に対する最も一般的な回答のコードを使用して、実際に機能する HttpModule を稼働させました。
(コードで参照されている OutputFilterStream クラスは、参照されている質問にあることに注意してください)。
ただし、応答には、Fiddler で表示される一部の HTTP ヘッダー (「Date」など) が欠落しているように見えます。さらに重要なことに、圧縮をオンにすると、ログに記録している応答は圧縮されませんが、Fiddler では圧縮されません。
だから私の質問- 圧縮されたコンテンツをログに記録することは可能ですか、それとも私のモジュールがフックできない次のステップでこれが起こっていますか?
念のため、 PreSendRequestContentイベントの処理も試みましたが、応答はまだ圧縮されていません。
c# - ASP.Net MVC AsyncController ログ要求の処理時間
asp.net MVC の要求処理時間を取得する必要があります。onBeginRequest および onEndRequest イベントのサブスクライブ IHttpModule を使用します。同期コントローラーの場合はうまく機能しますが、非同期の場合は間違った結果を返します (たとえば、リアルタイムが約 2 分の場合に 20 ミリ秒)。一般的な方法で AsyncController のリクエスト処理時間を取得するにはどうすればよいですか (非同期アクションごとに ActionAsync/ActionCompleted に追加のコードを記述しないでください)。
c# - IHttpModuleとスレッド化
IHttpModuleを実装するクラスがあります。これは、アプリケーションがDDOS攻撃から防御するのに役立つサポートクラスです。メソッドを実装した後BeginRequest
、コードをデバッグしようとしましたが、何らかの理由で、クラスをデバッグするたびに、VisualStudioに複数のスレッドがあります。ローカルマシンでこのアプリケーションを実行しているときに、突然、いくつかのスレッドが発生し、このクラスでのみ発生する理由がわかりません。
c# - IHttpModule の OnBeginRequest メソッドからのセッション変数へのアクセス
適切に機能するために、すべての URL に XML ファイルを追加する必要がある Web サイトがあります。たとえば、ファイルの名前はmodule-1.xml
.
これらの URL をきれいに保つために、 を使用してイベントHttpContext.Current.RewritePath
内で追加ジョブを実行する IHttpModule を作成しました。OnBeginRequest
IHttpModule は非常にシンプルに見え、機能します。
model-1.xml
ここで、セッション変数を使用して、ユーザーが Web サイトを からに切り替えることを決定したことを検出しmodel-2.xml
、コードを次のように変更したいと考えました。
私が見つけたものから、セッションはモジュール内でアクセスできますが、機能させることOnBeginRequest
ができる唯一のイベントであるイベント内からはアクセスできませんHttpContext.Current.RewritePath
(少なくとも私が行ってきたすべてのテストから)。
私の仮定は正しいですか?もしそうなら、どのような代替手段を使用できますか? カスタム セッション変数を作成しますか? ユーザーが見ているモジュールを知るために、txt ファイルまたは DB から読み取る必要がありますか? モジュール内からユーザーを追跡するにはどうすればよいですか?