Reliable Secure Profile
ReliableSecureProfile のサンプルでは、WCF と Reliable Secure Profile (RSP) を作成する方法を示します。 このサンプルでは、信頼できるメッセージング機能と共に作成できる Make Connection チャネルの実装と、オプションとして、RSP 仕様に基づいて信頼できるセキュリティで保護されたバインドを作成するためのセキュリティで保護されたチャネルの実装を示します。
ディスカッション
このサンプルでは、信頼できる非同期の双方向メッセージ交換シナリオを示します。 サービスには双方向コントラクトがあり、クライアントには双方向コールバック コントラクトが実装されます。 クライアントからサービスに対して要求が開始され、要求に対しては個別の接続で応答する必要があります。 要求メッセージは信頼できる方法で送信されます。 クライアントでは、終端にある待機エンドポイントを開きません。 したがって、それによって "Make Connection" 要求でサービスがポーリングされ、サービスによってこの "Make Connection" 要求のバック チャネルで応答が返信されます。 このサンプルでは、クライアントで待機エンドポイントを公開せずに (また、ファイアウォールの例外を設けずに)、HTTP を介してセキュリティで保護された信頼できる双方向通信を実現する方法を示します。
サンプルをセットアップ、ビルド、および実行するには
ReliableSecureProfile ソリューションを開きます。
ソリューション エクスプローラーで Service プロジェクトを右クリックし、コンテキスト メニューから [デバッグ] 、 [新しいインスタンスを開始] の順にクリックします。 サービス ホストが開始されます。
ソリューション エクスプローラーで Client プロジェクトを右クリックし、コンテキスト メニューから [デバッグ] 、 [新しいインスタンスを開始] の順にクリックします。 クライアントが開始されます。
クライアント コンソール ウィンドウのプロンプトに任意の文字列を入力し、Enter キーを押します。入力文字列がサービスに送信され、この文字列のハッシュが計算されます。
クライアント コンソール ウィンドウに結果を表示するためにサービスから双方向コールバック コントラクト操作がコールバックされたら、クライアント ウィンドウで結果を確認します。 実行に時間のかかるデータ処理操作を再現するために、サービスからの応答は意図的に遅延されます。
HTTP トラフィックの監視 (ネットワーク モニター、Fiddler などのオンライン ネットワーク監視ツールを使用) は、Reliable Secure Profile で規定されているように通信のシーケンスがクライアントとサービスの間で確立されていることと、クライアントによって "Make Connection" 要求でサービスがどのようにポーリングされているかを示しています。 サービスは、処理した応答を返信できる状態になると、最後の "Make Connection" 要求のバック チャネルを使用して、結果を返信します。
サービス コンソール ウィンドウで Enter キーを押してサービスを終了します。 クライアント コンソール ウィンドウで Enter キーを押してクライアントを終了します。