5

SOA パターンを利用しようとする Web サイトを開発しています。サービスは、簡素化された API を提供するファサード サービスを使用して、メインの Web アプリと HTML5 モバイル アプリ、ネイティブの iPhone および Android アプリの両方にサービスを提供します。

Web アプリは、Castle WCF 機能を使用して、basicHttpBinding を使用してサービスに接続します。

パフォーマンスが遅いと感じています。特に、サイトが 30 分以上アクセスされていない場合はなおさらです。これを改善するために、アプリ プールがサーバー RAM の x% に達した後にリサイクルするように、アプリ プールのリサイクル戦略を変更しました。

私の質問は、このようなセットアップでサービスをホストする最良の方法は何ですか? 使用するのに最適なバインディングは何ですか? サービスを IIS から完全に移動することを検討する必要がありますか? net.tcp が使用する最速のバインドであることは理解しています。それを使用してサービスを Windows サービスとしてホストするのが最善でしょうか?

乾杯

w://

4

2 に答える 2

2

いくつかのポイントを選択するには:

サービスを Windows サービスとしてホストする

これにより、IIS が提供するすべての監視および管理機能が失われます。コードがエラー処理とリソース管理において 100% 完璧である場合にのみ使用できるオプションです。

[その] net.tcp は最速のバインディングです

ローカル LAN の場合は、ファイアウォールの背後にあるのが適切なオプションかもしれません。1 つのサーバーでは、namedPipe の方がさらに高速であることに注意してください。

内部使用のために、サービスで 2 番目のエンドポイントを構成できるはずです。しかし、私は IIS にとどまります。最新バージョンを除くすべてで、WASが必要です

于 2011-05-15T07:20:49.933 に答える