】クライアントオブジェクト、またはクライアントクラス、またはサービスコントラクトから、オペレーションコントラクトの一覧を取得します。]・targetクライアントオブジェクト、またはクライアントクラス、またはサービスコントラクトを指定します。]オペレーションコントラクトの一覧を返します。関数は、以下の記事からまとめてダウンロードできます。使用して動的に生成する方法の2つの方法に大別できます。とサービスコントラクトのインターフェイスを実装します。クラスは継承していません。呼び出しを行うことは推奨されていないようです。呼び出しを行う代わりに推奨されるクライアントパターンはこちら。その派生クラスを例外としてスローします。サービスはセッションを利用して状態を保持することができます。セッションの開始・終了はクライアントによって制御されます。セキュリティはサービスが指定します。クライアントはサービスで指定されたセキュリティに従います。クライアントは、サービスの非同期呼び出しをサポートしています。双方向に通信を行うサービスを構築できます。双方向サービスクライアントのランタイム動作の指定ここに掲載したページは、だいたい以下のページから辿っていけます。クライアントの概要その他。いう記事が掲載されています。ついての解説が記述されています。ソースコード及びサンプルコードのセットでダウンロードできます。自動で生成して公開してくれます。エクスポートをカスタマイズできるような仕組みが備わっています。実装したクラスを用意します。このクラスは、コントラクトビヘイビア、エンドポイントビヘイビア、オペレーションビヘイビア、バインディング要素のいずれかとして実装します。これら特有のインターフェイスを実装する際は、特になんらかの処理を行う必要はありません。インターフェイスを実装しますが、このインターフェイスの各メソッドの中身は空で大丈夫です。サービスビヘイビアは含まれていないことに注意します。インターフェイスには次の二つのメソッドが用意されています。受け取り、第二引数でカスタマイズを行うためのオブジェクトを受け取ります。オブジェクトに対してカスタマイズを行います。オブジェクトに対してカスタマイズを行います。ハンドラを用意することができました。サポートされていません。互換モードでも非サポート。例外を一元的にハンドリングするための機構が別の方法で提供されています。比べて、手順がやや面倒となりますが、クライアントにフォールトメッセージを通知することを考慮した仕組みにはなっています。実装した独自のクラスとなります。このインターフェイスが提供するメソッドは以下の2つです。サービス内部からスローされた例外をハンドリングします。このメソッド内でクライアントに渡すフォールトメッセージを生成することができます。このメソッドのパラメータは以下の3つです。このパラメータにより、サービス内部からスローされた例外を取得できます。バージョンを取得できます。このパラメータは参照渡しとなっています。メッセージがこのパラメータにより取得できます。クラスを生成して、このパラメータに設定することができます。これにより、クライアントに渡すフォールトメッセージを指定することができるわけです。以外の、ハンドルされなかった例外が発生した場合に、予期せぬエラーが発生したという通知をクライアントに対して行うための実装例を以下に示します。FaultReasonText("予期せぬエラーが発生しました。サービス内部からスローされた例外と、通信時に発生した例外をハンドリングします。メソッドが先にハンドリングします。その後、このメソッドがハンドリングします。メソッドでハンドリングされる例外は変わりません。サービス内部でスローされた例外がハンドリングされます。処理などはこのメソッドで行います。このメソッドのパラメータは以下の1つです。このパラメータにより、サービス内部からスローされた例外や、通信時に発生した例外を取得できます。返した場合、例外はハンドルされなかったものとして扱われます。