3

ASP.NET サイトへのすべての Http 要求に関する基本的な情報を収集する HttpModule があります。モジュールは、さらに処理するためにこの情報を外部プログラム (Windows サービスまたはコンソール アプリ) に送信する必要があります。現在、名前付きパイプ (ChannelFactory を使用) で WCF サービスを使用しています。実際には、すべてがうまく、完全に機能しているように見えると言わざるを得ません。

HttpModule に対する私の主な要件は、優れたパフォーマンスと信頼性です。特に HttpModule 内で (負荷の高いサイトで)、このようなプロセス間通信を行うためのより良い方法はありますか? 潜在的なパフォーマンスの問題/ボトルネックはありますか? :)

どう思いますか?このトピックに関するいくつかの読書のためのアイデアや参考文献は大歓迎です!

前もって感謝します!

4

1 に答える 1

2

私は、Http モジュールとデータ サービス間の通信は常に同じマシン上で行われると想定しています。

パフォーマンス: 名前付きパイプはトランスポートに共有メモリを使用するため、名前付きパイプに勝るものはありません。WCF は、そのフレーミング プロトコルとエンコーディング スキームに多少のオーバーヘッドを追加します。WCF のオーバーヘッドを回避したい場合は、System.IO.Pipes 型を直接使用してパイプ経由で生のデータを渡すことができますが、多くのアプリケーションでは、これは追加の価値がありません。努力。WCF を使用する場合は、ここで説明されているように、トランスポート セキュリティ モードを [なし] に設定します

信頼性: 名前付きパイプは、OS カーネルによって管理されるオブジェクトであり、特にトランスポート セキュリティが無効になっている場合、WCF はそれらに対してかなり薄いラッパーをバインドします。信頼性は高いです。

于 2011-04-27T16:23:59.197 に答える