ReliableSessionBindingElement クラス

定義

エンドポイント間の信頼できるセッションに必要な送信および受信チャネルを作成できるバインド要素を表します。

public ref class ReliableSessionBindingElement sealed : System::ServiceModel::Channels::BindingElement
public ref class ReliableSessionBindingElement sealed : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Description::IPolicyExportExtension
public sealed class ReliableSessionBindingElement : System.ServiceModel.Channels.BindingElement
public sealed class ReliableSessionBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ReliableSessionBindingElement = class
    inherit BindingElement
type ReliableSessionBindingElement = class
    inherit BindingElement
    interface IPolicyExportExtension
Public NotInheritable Class ReliableSessionBindingElement
Inherits BindingElement
Public NotInheritable Class ReliableSessionBindingElement
Inherits BindingElement
Implements IPolicyExportExtension
継承
ReliableSessionBindingElement
実装

ReliableSessionBindingElement は、任意のカスタム バインドに追加できます。 カスタム バインドへの追加は、次の構成要素を使用して行います。

<bindings>
    <customBinding>
        <binding configurationName="ReliabilityHTTP">
            <reliableSession/>
        </binding>
    </customBinding>
</bindings>

コード内で ReliableSessionBindingElement を使用する方法を次のコード例に示します。

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

注釈

セッションを提供し、オプションとして順序付けされたメッセージ配信を提供します。 この実装されたセッションは、SOAP およびトランスポート中継局を通過できます。

各バインド要素は、メッセージの送信または受信時の処理手順を表します。 実行時に、バインド要素は、メッセージの送受信に求められる送信および受信チャネル スタックを作成するために必要なチャネル ファクトリとリスナーを作成します。 ReliableSessionBindingElement が提供するスタック内のオプションの層は、エンドポイント間に信頼できるセッションを確立し、このセッションの動作を構成することができます。

ReliableSessionBindingElement は、次の表の標準バインドで提供されます。

バインド Default
NetTcpBinding オフ
WSHttpBinding オフ
WSDualHttpBinding オン (必須)

コンストラクター

ReliableSessionBindingElement()

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

ReliableSessionBindingElement(Boolean)

メッセージが送信された順序をメッセージ配信で維持する必要があるかどうかを指定する ReliableSessionBindingElement クラスの新しいインスタンスを初期化します。

プロパティ

AcknowledgementInterval

ファクトリによって作成された信頼できるチャネルで、メッセージの送信元に受信確認を送信するまで送信先が待機する時間を取得または設定します。

FlowControlEnabled

信頼できるセッションでフロー制御が有効かどうかを示す値を取得または設定します。

InactivityTimeout

サービスが非アクティブになってから終了するまでの時間を取得または設定します。

MaxPendingChannels

信頼できるセッションの間に保留できるチャネルの最大数を取得または設定します。

MaxRetryCount

信頼できるセッションの間にメッセージの転送を試行する最大回数を取得または設定します。

MaxTransferWindowSize

送信バッファーまたは受信バッファーに存在できるメッセージの最大数を取得または設定します。

Ordered

メッセージが送信された順序をメッセージ配信で維持する必要があるかどうかを示す値を取得または設定します。

ReliableMessagingVersion

バインド要素で指定された WS-ReliableMessaging のバージョンを取得または設定します。

メソッド

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)

バインド コンテキストから、指定した型のプロパティを取得します。

GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)

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

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

信頼できるセッションのバインディング要素に含まれる情報を WSDL 要素にマップします。この要素は、リモート エンドポイントが信頼できるセッションでサービスにアクセスできるようにするものです。

適用対象