HttpTransportBindingElement クラス

定義

メッセージ送信用の HTTP トランスポートを指定するために使用するバインド要素を表します。

public ref class HttpTransportBindingElement : System::ServiceModel::Channels::TransportBindingElement
public ref class HttpTransportBindingElement : System::ServiceModel::Channels::TransportBindingElement, System::ServiceModel::Description::IPolicyExportExtension, System::ServiceModel::Description::IWsdlExportExtension
public class HttpTransportBindingElement : System.ServiceModel.Channels.TransportBindingElement
public class HttpTransportBindingElement : System.ServiceModel.Channels.TransportBindingElement, System.ServiceModel.Description.IPolicyExportExtension, System.ServiceModel.Description.IWsdlExportExtension
type HttpTransportBindingElement = class
    inherit TransportBindingElement
type HttpTransportBindingElement = class
    inherit TransportBindingElement
    interface IWsdlExportExtension
    interface IPolicyExportExtension
Public Class HttpTransportBindingElement
Inherits TransportBindingElement
Public Class HttpTransportBindingElement
Inherits TransportBindingElement
Implements IPolicyExportExtension, IWsdlExportExtension
継承
HttpTransportBindingElement
派生
実装

次のコードは、HttpTransportBindingElement を強制的に使用する方法を示しています。

Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");

// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
    // Create a custom binding that contains two binding elements.
    ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
    reliableSession.Ordered = true;

    HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
    httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
    httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;

    CustomBinding binding = new CustomBinding(reliableSession, httpTransport);

    // Add an endpoint using that binding.
    serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");

    // Add a MEX endpoint.
    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
    smb.HttpGetEnabled = true;
    smb.HttpGetUrl = new Uri("http://localhost:8001/servicemodelsamples");
    serviceHost.Description.Behaviors.Add(smb);

    // Open the ServiceHostBase to create listeners and start listening for messages.
    serviceHost.Open();

    // The service can now be accessed.
    Console.WriteLine("The service is ready.");
    Console.WriteLine("Press <ENTER> to terminate service.");
    Console.WriteLine();
    Console.ReadLine();

    // Close the ServiceHostBase to shutdown the service.
    serviceHost.Close();
}
Dim baseAddress As New Uri("http://localhost:8000/servicemodelsamples/service")

' Create a ServiceHost for the CalculatorService type and provide the base address.
Using serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)
    ' Create a custom binding that contains two binding elements.
    Dim reliableSession As New ReliableSessionBindingElement()
    reliableSession.Ordered = True

    Dim httpTransport As New HttpTransportBindingElement()
    httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous
    httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard

    Dim binding As New CustomBinding(reliableSession, httpTransport)

    ' Add an endpoint using that binding.
    serviceHost.AddServiceEndpoint(GetType(ICalculator), binding, "")

    ' Add a MEX endpoint.
    Dim smb As New ServiceMetadataBehavior()
    smb.HttpGetEnabled = True
    smb.HttpGetUrl = New Uri("http://localhost:8001/servicemodelsamples")
    serviceHost.Description.Behaviors.Add(smb)

    ' Open the ServiceHostBase to create listeners and start listening for messages.
    serviceHost.Open()

    ' The service can now be accessed.
    Console.WriteLine("The service is ready.")
    Console.WriteLine("Press <ENTER> to terminate service.")
    Console.WriteLine()
    Console.ReadLine()

    ' Close the ServiceHostBase to shutdown the service.
    serviceHost.Close()
End Using

HttpTransportBindingElement は、次の構成に示すように、構成ファイルでも使用できます。

<bindings>  
  <customBinding>  
    <binding name="Binding1">  
      <reliableSession acknowledgementInterval="00:00:00.2000000" enableFlowControl="true"  
                        maxTransferWindowSize="32" inactivityTimeout="00:10:00" maxPendingChannels="128"  
                        maxRetryCount="8" ordered="true" />  
      <security mode="None"/>  
      <httpTransport authenticationScheme="Anonymous" bypassProxyOnLocal="false"  
                    hostNameComparisonMode="StrongWildcard"   
                    proxyAuthenticationScheme="Anonymous" realm=""   
                    useDefaultWebProxy="true" />  
    </binding>  
  </customBinding>  
</bindings>  

注釈

HttpTransportBindingElement クラスを基にして、HTTP トランスポート プロトコルを実装するカスタム バインドを作成します。 HTTP は、相互運用性のために使用される主要なトランスポートです。 このトランスポートは、他の WCF 以外の Web サービス スタックとの相互運用性を確保するために、Windows Communication Foundation (WCF) でサポートされています。

WCF サービス モデルでは、このクラスを使用して、 インターフェイスと IChannelListener インターフェイスを実装するファクトリ オブジェクトをIChannelFactory作成します。 これらのファクトリ オブジェクトは、HTTP プロトコルを使用して SOAP メッセージを送信するチャネルやリスナーを作成します。

このクラスが作成するファクトリを構成するには、AuthenticationSchemeHostNameComparisonModeMaxBufferSize などのプロパティを設定します。

また、基本クラス TransportBindingElement では、ManualAddressingMaxReceivedMessageSizeMaxBufferPoolSize などのプロパティも設定できます。 プロパティの全一覧については、TransportBindingElement を参照してください。

コンストラクター

HttpTransportBindingElement()

HttpTransportBindingElement クラスの新しいインスタンスを初期化します。

HttpTransportBindingElement(HttpTransportBindingElement)

別のバインディング要素を使用して HttpTransportBindingElement クラスの新しいインスタンスを初期化します。

プロパティ

AllowCookies

クライアントがクッキーを受け入れて、それらを今後の要求に反映させるかどうかを示す値を取得または設定します。

AuthenticationScheme

HTTP リスナーにより処理されるクライアント要求の認証に使用する認証スキームを取得または設定します。

BypassProxyOnLocal

プロキシをローカル アドレスで無視するかどうかを示す値を取得または設定します。

DecompressionEnabled

圧縮されたメッセージ データを元のサイズと形式に戻す処理が有効になっているかどうかを示す値を取得または設定します。

ExtendedProtectionPolicy

受信クライアント接続を検証するためにサーバーによって使用される拡張セキュリティ ポリシーの値を取得または設定します。

HostNameComparisonMode

URI で一致する場合にサービスに到達するためにホスト名を使用するかどうかを示す値を取得または設定します。

KeepAliveEnabled

サービス エンドポイントへの永続的な接続を行うかどうかを示す値を取得または設定します。

ManualAddressing

メッセージの手動アドレス指定が必要かどうかを示す値を取得または設定します。

(継承元 TransportBindingElement)
MaxBufferPoolSize

トランスポートが使用するバッファー プールの最大サイズ (バイト単位) を取得または設定します。

(継承元 TransportBindingElement)
MaxBufferSize

使用するバッファーの最大サイズを取得または設定します。 バッファーされるメッセージの場合、この値は MaxReceivedMessageSize と同じです。 ストリーム メッセージの場合は、この値は SOAP ヘッダーの最大サイズであり、これはバッファー モードで読み取られる必要があります。

MaxPendingAccepts

サービスが同時に受信できる接続の最大数を取得または設定します。

MaxReceivedMessageSize

受信できる最大メッセージ サイズ (バイト単位) を取得または設定します。

(継承元 TransportBindingElement)
MessageHandlerFactory

Http トランスポート メッセージ ハンドラー ファクトリを取得または設定します。

Proxy

メッセージ送信用の HTTP トランスポートを指定するために使用するバインド要素を表します。

ProxyAddress

HTTP 要求に使用するプロキシのアドレスを格納する URI を取得または設定します。

ProxyAuthenticationScheme

HTTP プロキシにより処理されるクライアント要求の認証に使用する認証方式を取得または設定します。

Realm

認証領域を取得または設定します。

RequestInitializationTimeout

要求された初期化タイムアウトを取得または設定します。

Scheme

トランスポートの URI スキームを取得します。

TransferMode

転送モードを取得または設定します。

UnsafeConnectionNtlmAuthentication

サーバー上で安全ではない接続共有が有効であるかどうかを示す値を取得または設定します。 有効な場合、NTLM 認証は、TCP 接続ごとに 1 回実行されます。

UseDefaultWebProxy

ユーザー固有の設定ではなく、コンピューター全体のプロキシ設定を使用するかどうかを示す値を取得または設定します。

WebSocketSettings

バインディング要素の Web ソケットの構成を取得または設定します。

メソッド

BuildChannelFactory<TChannel>(BindingContext)

チャネルを作成するために使用できるチャネル ファクトリを作成します。

BuildChannelListener<TChannel>(BindingContext)

指定した種類のチャネル リスナーを作成します。

BuildChannelListener<TChannel>(BindingContext)

指定した種類のチャネルを受け入れるよう、バインディング コンテキストからチャネル リスナーを初期化します。

(継承元 BindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

指定した種類のチャネル ファクトリを作成できるかどうかを判断します。

CanBuildChannelListener<TChannel>(BindingContext)

指定した種類のチャネル リスナーを作成できるかどうかを判断します。

CanBuildChannelListener<TChannel>(BindingContext)

指定した種類のチャネルに対するリスナーをバインド要素が作成できるかどうかを示す値を返します。

(継承元 BindingElement)
Clone()

現在のバインディング要素のコピーである新しいインスタンスを作成します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetProperty<T>(BindingContext)

指定した BindingContext からプロパティを取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ShouldSerializeExtendedProtectionPolicy()

拡張保護ポリシーを XAML シリアル化できないことを示す値を返します。

ShouldSerializeMessageHandlerFactory()

メッセージ ハンドラー ファクトリをシリアル化する必要があるかどうかを判断します。

ShouldSerializeWebSocketSettings()

Web ソケットの設定をシリアル化する必要があるかどうかを判断します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
UpdateAuthenticationSchemes(BindingContext)

バインディング コンテキストを含むトランスポート認証方式を更新します。

明示的なインターフェイスの実装

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

バインディングに関するカスタム ポリシー アサーションをエクスポートします。

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

コントラクトに対して生成される Web サービス記述言語 (WSDL) に、カスタム WSDL 要素を書き込みます。

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

エンドポイントに対して生成される Web サービス記述言語 (WSDL) に、カスタム WSDL 要素を書き込みます。

適用対象