WCFを初めて使用しています。 wcf Webサービスに複数のエンドポイントを作成する利点は何ですか?WCFサービスの複数のエンドポイントの利点
また、IISでこのようなサービスをホストする方法と、wcfクライアントが提供される正確なエンドポイントに接続する方法の例を教えてください。
ありがとうございました。
WCFを初めて使用しています。 wcf Webサービスに複数のエンドポイントを作成する利点は何ですか?WCFサービスの複数のエンドポイントの利点
また、IISでこのようなサービスをホストする方法と、wcfクライアントが提供される正確なエンドポイントに接続する方法の例を教えてください。
ありがとうございました。
異なるエンドポイントを提供する利点は、各エンドポイントが異なるバインディングを使用できることです。クライアントの能力に基づいて、適切なバインディングを選択することができます。たとえば、Java、PHP、...クライアント、および高速であるが.NETクライアントのみの独自のバイナリエンドポイントの相互運用可能なエンドポイントを公開することができます。
各エンドポイントには、アドレス、バインディングおよび契約があります。したがって、クライアントは消費するサービスエンドポイントを選択できます。
host a WCF service in IISには、HTTPバインディングのみが使用可能なASP.NETアプリケーション(basicHttpBinding、wsHttpBinding、webHttpBinding、...)またはバイナリバインディングを使用できるWAS(IIS 7.0のみ)の2つの可能性があります。クライアントの観点から、特定のサービスURLをポイントしてサービスを使用するクライアントプロジェクトにサービス参照を追加します。そして、ここでこれについて議論するanother articleがあります。経験から
:.NETクライアント用WsHttpBinding
を使用しながら、Javaクライアントのために、一例BasicHttpBinding
のために、異なる結合を使用して
。いくつかはHTTPS、他のものはHTTP ...
異なる契約/インタフェースを分割して公開します。たとえば、多くの操作を公開するインターフェイスが1つあり、基本操作を行うカットダウンインターフェイスがあり、内部クライアントは拡張インターフェイス用のエンドポイントを使用するが、外部クライアントはもう1つを使用するように外部インターフェイスを公開します。
interface IFoo
{
void DoBasic();
}
interface IFooInternal : IFoo
{
void DoMore();
}
例えば
今、あなたは両方を実装一つのクラスあります
public class Foo : IFooInternal
{
....
}
と実装が同じクラスにいる間に、今あなたが唯一の外部への公開を。