質問
WCFエンタープライズアプリケーションをホストするための提案を探しています。
アプリ。サーバーで停止せずに実行する必要があります。また、TCPを使用して、イントラネット環境で最高のパフォーマンスをもたらします。
IISリサイクルプロセスがあり、タイムアウトがあるため、ウィンドウサービスでホストすることを考えています。
ただし、MSDNからこれを見つけます http://msdn.microsoft.com/en-us/library/ff649818.aspx :
ウィンドウサービス...エンタープライズ機能の欠如。 Windowsサービスには、IISに含まれるセキュリティ、管理性、スケーラビリティ、および管理機能がありません。
ウィンドウサービスがエンタープライズアプリケーションに適していないということですか?しかし、MS SQL、Oracle、MySQLなどはどうですか。彼らはすべてWinでホストしています。サービスは正しいですよね?
よろしくブライアン
解決
Windowsサービスはエンタープライズアプリケーションに適しています!引用されたテキストは、実際には、IISには、独自に実装しない限り(Windowsサービスなど)カスタムホスティングでは利用できない多くの組み込み管理機能があることを意味します。
このような機能の1つは、リサイクルを避けたいリサイクルです。これは、アプリケーションが低リソースの消費を維持するのに役立ちます(サーバーは健全な状態です)。もう1つのそのような機能は、労働者状態のIISチェックです。ワーカープロセスが立ち往生しているように見える場合(何らかの理由でリクエストを処理しないでください)、IISは自動的に別のプロセスを開始し、そのプロセスに新しいリクエストをルーティングします。
IIS +は + AppFabricが非常に大きな機能セットを提供できますが、すべてのシナリオには良くありません。背景の連続、スケジュール、またはマルチスレッド処理を必要とするサービスがある場合は、おそらく自己ホストのシナリオに移動する方が良いでしょう。