実際、多くのオプションがあります。
バインディング
WCF から利用できるバインディングは、一般的なシナリオ向けの一連のプロトコルです。トランスポート、メッセージ、およびセキュリティ情報を指定します。
バインディングを選択するときは、バインディングから必要な機能を見つける必要があります。たとえば、次の方法が必要になる場合があります
- 誰もがあなたのサービスを利用できるようにしたくないので、クライアントを認証します。
- データを暗号化する必要がある場合があります。
- このサービスは、他のプラットフォームのクライアントと相互運用できる必要があります。
- メッセージのオーバーヘッドが問題になりつつあります。
クライアントが常に dot net からのものであることがわかっている場合は、net tcp バインディングを利用できます。これは、basicHttpbinding よりも高速です。ただし、basicHttpBinding は相互運用可能なプロトコルであり、php または Java クライアントでも問題なく通信できます。
サービスの独自の要件を定義し、ニーズに合った既存のバインディングを探します。既存のバインディングがない場合は、カスタム バインディングと呼ばれる独自のバインディングを作成できます。異なるバインディングの機能を組み合わせて実現できます。目的。
ホスティング
IIS はよりスケーラブルです。長時間実行されるデーモン プロセス (Windows サービスまたはコンソール アプリ) でホストする必要がある状態をサービスが必要としない場合は、サービスの圧縮と暗号化を簡単に有効にできる IIS が選択されます。
バインディングの詳細
ブラウザ内でサービスを呼び出す場合、つまり javascript WebHttpBinding は、ドット ネットで定義された適切なものです。enbableWebScript を使用して、サービスが JavaScript の JSON を理解できるようにすることができます。
可用性
1 つの特定のバインディングですべての要件を満たすことができない場合は、各サービスを異なるエンドポイントの異なるバインディングで公開できます。例: ホスト/soap ホスト/nettcp ホスト/json