アプリケーションスイートの新しい中間層を開発しています。現在VB6にあり、COM +を介して公開されているため、ビジネスロジックとデータアクセスレイヤーをC#で書き直すことを検討しています。
私たちが決定しようとしているのは、この中間層をさまざまなクライアントが利用できるようにする方法です。これを行うためにWCFを使用し、デスクトップアプリのnetTcpBinding、net.Tcp、名前付きパイプなど、さまざまなクライアントのニーズを促進するためにさまざまなバインディングを使用することにしました。ローカルまたはネットワーク内のマシンで実行されているインターネットアプリのバインディング、および外部WebAPIのHTTPバインディングの一部。
私たちが決定しようとしているのは、サービスをホストする方法です。私が行くほとんどの場所でIISが進むべき道のようですが、Windowsサービスの下にある場合はBLL / DAL部分のパフォーマンスが向上するようで、ここSOの@marc_sはセルフホスティングを頻繁に推奨します。それでは、IIS、サービス、またはHTTPエンドポイントのIISでシンサービスがホストされ、net.tcpまたは名前付きパイプバインディングを介してメインサービスを使用するハイブリッドでホストしますか?分離すると、必要に応じて物理的に分離できるほか、IISがダウンする可能性もあります。これにより、公開するエンドポイントにアクセスするクライアントに対してサービスが実行されたままになります。
また、スケーラビリティと信頼性についてはどうでしょうか。そのように2つのホスティング環境の間に大きな違いはありますか?
これに似た質問がたくさんあることに気づきましたが、探していた情報を十分に見つけることができなかったので、より具体的なヘルプへのリンクが答えと同様に機能します。