現在、バックグラウンドで実行されているWindowsサービスとローカルクライアントまたはリモートクライアント(通常は1〜3回のみ)で構成される.NET 4アプリケーションがあります。堅牢な自己ホスティングサーバーのための最良の選択:WCF vs. ASP.NET Web Api
クライアントにはWPF GUIがあり、Windowsサービスからのデータが必要です。したがって、ローカルクライアントにはNamedPipeバインディングを使用し、リモートクライアントにはNetTcpバインディングを使用してWCFを使用します。これはうまくいきますが、エンドポイントに到達できない(チャンネルがフォルトされているか見つからないなど)エンドポイントに問題があることがよくあります。私たちはすでに間違った接続を再構築しようとしていますが、かなり壊れやすいと思われます...
Webに入ります。HTTPベースのスタックがより堅牢であるように見えます(チャネルもエンドポイントもなく、 Windowsサービスも同様)。各リクエストは個別に処理されるため、チャンネルが壊れても問題はないようです。したがって何かが失敗した場合は、リクエストを繰り返すだけです。 (そして、私たちは他のアプリからASP.NET MVCの経験があるので、これは私たちには新しいことではありません)。
今、私たちは何が最善の策だろうと考えています。既存のWCFサービス(約15の操作で1つのサービスインターフェイス)を強化するか、Web Apiにインターフェイスを移動してHTTPリクエスト(JSONデータを使用)として実行する方が良いでしょうか?ここでのパフォーマンスは私たちの主な問題ではありません...
アイデア? ハートムット
もしあなたが私たちを更新してもらえますか?自己ホストWebAPIは自己ホストWCFよりも良い選択です。 –