WSHttpBinding
wsHttp サンプルでは、Windows Communication Foundation (WCF) を使用して一般的なサービスと一般的なクライアントを実装する方法を示します。 このサンプルは、クライアント コンソール プログラム (client.exe) と、インターネット インフォメーション サービス (IIS) によってホストされるサービス ライブラリで構成されています。 サービスは、要求/応答通信パターンを定義するコントラクトを実装します。 このコントラクトは ICalculator
インターフェイスによって定義されており、算術演算 (加算、減算、乗算、および 除算) を公開しています。 クライアントは指定された算術演算を同期要求し、サービスは結果と共に応答します。 クライアント アクティビティは、コンソール ウィンドウに表示されます。
Note
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。
このサンプルでは、<wsHttpBinding> を使用して ICalculator
コントラクトを公開します。 このバインディングの構成は、次のように Web.config ファイルで展開されています。
<bindings>
<wsHttpBinding>
<!--The following is the expanded configuration section for a-->
<!--WSHttpBinding. Each property is configured with the default-->
<!--value. See the ReliableSession, TransactionFlow, -->
<!--TransportSecurity, and MessageSecurity samples in the WS -->
<!--directory to learn how to configure these features. -->
<binding name="Binding1"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288"
maxReceivedMessageSize="65536"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
ベース binding
要素で maxReceivedMessageSize
値を使用すると、受信メッセージの最大サイズ (バイト単位) を構成できます。 hostNameComparisonMode
値を使用すると、メッセージの非多重化を行ってサービスに変換する際にホスト名を考慮するかどうかを構成できます。 messageEncoding
値を使用すると、メッセージのテキスト エンコーディングまたは MTOM エンコーディングを使用するかどうかを構成できます。 textEncoding
値を使用すると、メッセージの文字エンコーディングを構成できます。 bypassProxyOnLocal
値を使用すると、ローカル通信に HTTP プロキシを使用するかどうかを構成できます。 現在のトランザクションをフローするかどうかは、transactionFlow
値で構成されます (操作がトランザクション フロー用に構成されている場合)。
<reliableSession> 要素では、信頼できるセッションが有効かどうかがブール値 enabled で構成されます。 メッセージの順序が保持されるかどうかは、ordered
値で構成されます。 エラーになる前の、セッションのアイドル状態の期間は、inactivityTimeout
値で構成されます。
<security> では、使用するセキュリティ モードが mode
値で構成されます。 このサンプルでは、メッセージ セキュリティが使用されているため、<message> が <security> の内側で指定されています。
このサンプルを実行すると、操作要求および応答がクライアントのコンソール ウィンドウに表示されます。 クライアントをシャットダウンするには、クライアント ウィンドウで Enter キーを押します。
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
サンプルをセットアップ、ビルド、および実行するには
次のコマンドを使用して ASP.NET 4.0 をインストールします。
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Windows Communication Foundation サンプルの 1 回限りのセットアップの手順を実行したことを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「 Building the Windows Communication Foundation Samples」の手順に従います。
単一または複数コンピューター構成でサンプルを実行するには、「Windows Communication Foundation サンプルの実行」の手順に従います。