HttpTransportBindingElement クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メッセージ送信用の 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 を強制的に使用する方法を示しています。
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 メッセージを送信するチャネルやリスナーを作成します。
このクラスが作成するファクトリを構成するには、AuthenticationScheme、HostNameComparisonMode、MaxBufferSize などのプロパティを設定します。
また、基本クラス TransportBindingElement では、ManualAddressing、MaxReceivedMessageSize、MaxBufferPoolSize などのプロパティも設定できます。 プロパティの全一覧については、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 ソケットの構成を取得または設定します。 |
メソッド
明示的なインターフェイスの実装
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
バインディングに関するカスタム ポリシー アサーションをエクスポートします。 |
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
コントラクトに対して生成される Web サービス記述言語 (WSDL) に、カスタム WSDL 要素を書き込みます。 |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
エンドポイントに対して生成される Web サービス記述言語 (WSDL) に、カスタム WSDL 要素を書き込みます。 |
適用対象
.NET