DualHttp サンプルでは、WSDualHttpBinding
バインドを構成する方法を示します。 このサンプルは、インターネット インフォメーション サービス (IIS) によってホストされるクライアント コンソール プログラム (.exe) とサービス ライブラリ (.dll) で構成されています。 サービスは、双方向コントラクトを実装します。 コントラクトは、算術演算 (加算、減算、乗算、除算) を公開する ICalculatorDuplex
インターフェイスによって定義されます。 このサンプルでは、 ICalculatorDuplex
インターフェイスを使用すると、クライアントは算術演算を実行し、セッションで実行中の結果を計算できます。 サービスは個別に、 ICalculatorDuplexCallback
インターフェイスで結果を返します。 双方向コントラクトにはセッションが必要です。クライアントとサービスの間で送信されるメッセージのセットを関連付けるためにコンテキストを確立する必要があるためです。 WSDualHttpBinding
バインディングは双方向通信をサポートします。
注
このサンプルのセットアップ手順とビルド手順は、このトピックの最後にあります。
WSDualHttpBinding
を使用してサービス エンドポイントを構成するには、次のようにエンドポイント構成でバインドを指定します。
<endpoint address=""
binding="wsDualHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculatorDuplex" />
クライアントでは、次のサンプル構成に示すように、サーバーがクライアントへの接続に使用できるアドレスを構成する必要があります。
<system.serviceModel>
<client>
<endpoint address=
"http://localhost/servicemodelsamples/service.svc"
binding="wsDualHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculatorDuplex" />
</client>
<bindings>
<!-- Configure a WSDualHttpBinding that supports duplex -->
<!-- communication. -->
<wsDualHttpBinding>
<binding name="Binding1"
clientBaseAddress="http://localhost:8000/myClient/"
useDefaultWebProxy="true"
bypassProxyOnLocal="false">
</binding>
</wsDualHttpBinding>
</bindings>
</system.serviceModel>
サンプルを実行すると、操作要求と応答がクライアント コンソール ウィンドウに表示されます。 クライアント ウィンドウで Enter キーを押して、クライアントをシャットダウンします。
Press <ENTER> to terminate client once the output is displayed.
Result(100)
Result(50)
Result(882.5)
Result(441.25)
Equation(0 + 100 - 50 * 17.65 / 2 = 441.25)
サンプルを実行すると、サービスから送信されたコールバック インターフェイスでクライアントに返されるメッセージが表示されます。 各中間結果が表示され、すべての操作が完了すると数式全体が表示されます。 Enter キーを押してクライアントをシャットダウンします。
サンプルを設定、ビルド、実行するには
次のコマンド ASP.NET 使用して 4.0 をインストールします。
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Windows Communication Foundation サンプル のOne-Time セットアップ手順を実行していることを確認します。
ソリューションの C# または Visual Basic .NET エディションをビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
単一または複数のコンピューター間の構成でサンプルを実行するには、「Windows Communication Foundation Samplesの実行」の手順に従います。
Von Bedeutung
クロスマシン構成でクライアントを実行する場合は、次に示すように、
address
client< 要素のclientBaseAddress
<> 要素の > 要素の属性の両方で localhost を適切なコンピューターの名前に置き換えてください。<client> <endpoint name = "" address= "http://service_machine_name/servicemodelsamples/service.svc" /> </client> ... <wsDualHttpBinding> <binding name="DuplexBinding" clientBaseAddress= "http://client_machine_name:8000/myClient/"> </binding> </wsDualHttpBinding>