問題タブ [httpmodule]

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.

0 投票する
1 に答える
872 参照

c# - IIS7HttpHandler開発の問題

VSTS 2008 + C#+ .Net 3.5 +IIS7.0を使用してASP.NetWebサイトを開発しています。着信リクエストに特定のhttpヘッダー(CustomerIDなど)があるかどうかを検査できるHttpモジュールを開発したいと思います。そのようなヘッダーがない場合は、ユーザーリクエストを他のページにリダイレクトします。

IIS 7.0統合モードでHttpモジュールを使用して開発する必要があると思いますか?私が間違っているか、より簡単な解決策がある場合は、私を訂正してください。参照サンプルまたはチュートリアルはありますか?IIS7.0でのHttpモジュール開発は初めてです。

0 投票する
3 に答える
1247 参照

asp.net - HttpModule 内でページをレンダリングしますか?

HttpModule 内で aspx ページをレンダリングし、それをブラウザーにストリーミングする方法を知っている人はいますか?

0 投票する
1 に答える
636 参照

asp.net - ASP.NET: すべての応答ストリームにコンテンツを挿入する

サイトには何百もの ASPX ファイルと HTML ファイルがあり、各ファイルの末尾に小さな JavaScript を挿入したいと考えています。HttpModule を使用してこれを実行したい場合 (何か新しいことを学ぼうとしている場合)、これでよいでしょうか? 明らかな問題はありますか?

0 投票する
1 に答える
566 参照

asp.net - ASP.NET: HttpApplication のライフサイクル

HttpModule では、HttpResponse.Headers コレクションが設定された後、Response の本文が Response Stream に追加される前に、Response をインターセプトしたいと考えています。これは HttpContext.Current.PreSendRequestContent イベントにありますか?

0 投票する
4 に答える
1796 参照

asp.net - ASP.NET: HttpModule のパフォーマンス

すべてのリクエストのレスポンス ストリームをインターセプトし、テキスト/HTML タイプのレスポンスごとに 6 ~ 12 個の Regex.Replace() を実行する HttpModule を実装しました。ここでどれだけのパフォーマンス ヒットが発生するかが心配です。調べる良い方法は何ですか? この HttpModule を実行している場合と実行していない場合の速度を比較したいと思います。

0 投票する
1 に答える
311 参照

asp.net - ASP.NET: HttpModule

HttpModule の Response によって送信またはバッファリングされたコンテンツを確認するにはどうすればよいですか?

0 投票する
3 に答える
814 参照

asp.net - ASP.NET:正当なアーキテクチャ/ HttpModuleの懸念?

私の仕事のアーキテクトは最近、JavaScript、CSS、画像などのページで使用されるリソースに遠い将来のExpiresヘッダーを使用するように指示されているYahoo!の優れたパフォーマンスのベストプラクティスガイドを読みました。アイデアは、これらのリソースのExpiresヘッダーを数年先に設定して、常にブラウザーによってキャッシュされるようにすることです。ファイルを変更するため、キャッシュを使用する代わりにブラウザーがリソースを再度要求する必要がある場合は、ファイル名を変更してください。バージョン番号を追加します。

これをビルドプロセスに組み込む代わりに、彼は別のアイデアを持っています。ビルドごとにソースとサーバーディスクのファイル名を変更する代わりに(当然のことながら、面倒です)、偽造します。彼の計画は、上記のリソースに遠い将来の有効期限を設定してから、2つのHttpModuleを実装することです。

1つのモジュールが、ASPXページとHTMLページのすべての応答ストリームをインターセプトしてから送信し、リソースリンクを探して、ファイルの最終変更日であるバージョンパラメーターを追加します。他のHttpModuleは、リソースに対するすべての要求を処理し、アドレスのバージョン部分を単に無視します。これにより、ブラウザは、ディスク上のファイルの名前を実際に変更しなくても、ディスク上で変更されるたびに常に新しいリソースファイルを要求します。

わかる?

私の懸念は、ASPX/HTMLページの応答ストリームを書き換えるモジュールに関連しています。<script>彼は、タグの「src」属性と<img>タグの「href」属性に一連のRegex.Replace()を適用するだけ<link>です。これは、コンテンツタイプが「text/html」であるサーバー上のすべてのリクエストに対して発生します。潜在的には1分あたり数百または数千。

HttpModulesがIISパイプラインにフックされていることは理解していますが、これにより、IISがHTTP応答を送信するのにかかる時間に法外な遅延が追加される必要があります。いいえ?どう思いますか?

0 投票する
1 に答える
6990 参照

asp.net - HTTPModule BeginRequest は Response.Redirect または Server.Transfer を使用する必要があります

BeginRequest イベント メソッドで Response.Redirect を使用して宛先ページを変更する URLRewriting モジュールがあります。

  • Response.Redirect の代わりに Server.Transfer または Server.TransferRequest を使用する方がよいでしょうか?
  • ソリューションには他の HTTP モジュールがあります。Server.Transfer を使用して他のモジュールをバイパスしますか?それとも、ブラウザーへの往復を保存するだけで、サーバーは新しい要求であるかのように開始しますか?
  • クライアントは違いに気づき、サーバーはリクエストを別の方法で処理しますか?

次の質問は、リダイレクトと転送の違いをカバーしていますが、HTTP モジュール内ではカバーしていません。

編集: HttpContext.RewritePathもモジュールで使用されるため、最初の Request を元のパスから移動するには 3 つの手法があるようです。Redirect、Transfer、RewritePath のそれぞれ。ブラウザーに戻り、HTTP パイプラインの最初に戻り、新しいパスで処理を続行します。

0 投票する
3 に答える
430 参照

c# - C#のデータベースからの動的ページ

これがすでにどこかで尋ねられている場合は許してください、しかし私はこのタスクを達成するための最良の方法を見つけることができません。何千もの.aspxページを作成しなくても、何千もの異なる.aspxページからコンテンツをレンダリングできるレンダリングシステムを作成できるようにしたいと考えています。そうは言っても、コードに適切な.aspxページが存在する場合は、それをレンダリングできるようにしたいのです。

たとえば、サイトにリクエストがあった場合、そのURLがデータベースにあるかどうかを確認し、データベースにある場合は、コンテンツを適切にレンダリングしたいと思います。ただし、そうでない場合は、実際の.aspxページのレンダリングを続行する必要があります。

HTTPModuleを使用しようとすると、データベースに存在するページを取得して適切なコンテンツを書き出すことができません。これが私のコードです。

ただし、HTTPHandlerを使用しようとすると、*。aspx動詞がハンドラーによって処理されているため、実際の.aspxページを適切にレンダリングできません。

これを完全に再設計する方法について誰かがより良いアイデアを持っているなら、私もそれを完全に受け入れています。ありがとう。