次の方法で共有


WSHttpBinding

wsHttp サンプルでは、Windows Communication Foundation (WCF) を使用して一般的なサービスと一般的なクライアントを実装する方法を示します。 このサンプルは、クライアント コンソール プログラム (client.exe) と、インターネット インフォメーション サービス (IIS) によってホストされるサービス ライブラリで構成されています。 このサービスは、要求/応答通信パターンを定義するコントラクトを実装します。 コントラクトは、算術演算 (加算、減算、乗算、除算) を公開する ICalculator インターフェイスによって定義されます。 クライアントは特定の算術演算に対して同期要求を行い、サービスは結果と共に応答します。 クライアント アクティビティはコンソール ウィンドウに表示されます。

このサンプルのセットアップ手順とビルド手順は、このトピックの最後にあります。

このサンプルでは、<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値を使用すると、メッセージに Text エンコードと MTOM エンコードのどちらを使用するかを構成できます。 textEncoding値を使用すると、メッセージの文字エンコードを構成できます。 bypassProxyOnLocal値を使用すると、ローカル通信に HTTP プロキシを使用するかどうかを構成できます。 transactionFlow値は、現在のトランザクションをフローするかどうかを構成します (操作がトランザクション フロー用に構成されている場合)。

<reliableSession>要素では、有効なブール値によって、信頼できるセッションが有効になっているかどうかを構成します。 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.

サンプルを設定、ビルド、実行するには

  1. 次のコマンド ASP.NET 使用して 4.0 をインストールします。

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Windows Communication Foundation サンプル One-Time セットアップ手順を実行していることを確認します。

  3. ソリューションの C# または Visual Basic .NET エディションをビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。

  4. 単一または複数のコンピューター間の構成でサンプルを実行するには、「Windows Communication Foundation Samplesの実行」の手順に従います。