Sdílet prostřednictvím


ReliableSessionBindingElement Třída

Definice

Představuje prvek vazby, který může vytvořit odesílající a přijímající kanály požadované pro spolehlivou relaci mezi koncovými body.

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
Dědičnost
ReliableSessionBindingElement
Implementuje

Příklady

ReliableSessionBindingElement se přidat do jakékoli vlastní vazby. To se provádí pomocí následujících konfiguračních prvků.

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

Následující ukázkový kód ukazuje použití ReliableSessionBindingElement v kódu.

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

Poznámky

Poskytuje relace a volitelně poskytuje seřazené doručování zpráv. Tato implementovaná relace může křížovat zprostředkovatele SOAP a dopravy.

Každý element vazby představuje krok zpracování při odesílání nebo přijímání zpráv. Za běhu vytvářejí vazbové prvky objekty pro vytváření kanálů a naslouchací procesy, které jsou nezbytné k sestavení zásobníků odchozích a příchozích kanálů potřebných k odesílání a přijímání zpráv. Poskytuje ReliableSessionBindingElement volitelnou vrstvu v zásobníku, která může vytvořit spolehlivou relaci mezi koncovými body a nakonfigurovat chování této relace.

Standardní ReliableSessionBindingElement vazby jsou k dispozici v následující tabulce.

Vazba Výchozí
NetTcpBinding Vypnout
WSHttpBinding Vypnout
WSDualHttpBinding Zapnuto (povinné)

Konstruktory

ReliableSessionBindingElement()

Inicializuje novou instanci ReliableSessionBindingElement třídy.

ReliableSessionBindingElement(Boolean)

Inicializuje novou instanci ReliableSessionBindingElement třídy, která určuje, zda doručení zprávy musí zachovat pořadí, ve kterém jsou zprávy odeslány.

Vlastnosti

AcknowledgementInterval

Získá nebo nastaví interval času, který cíl čeká před odesláním potvrzení do zdroje zpráv ve spolehlivých kanálech vytvořených továrnou.

FlowControlEnabled

Získá nebo nastaví hodnotu, která označuje, zda spolehlivá relace má povolenou kontrolu toku.

InactivityTimeout

Získá nebo nastaví interval času, který služba zůstane neaktivní před zavřením.

MaxPendingChannels

Získá nebo nastaví největší počet kanálů, které mohou být čekající během spolehlivé relace.

MaxRetryCount

Získá nebo nastaví maximální počet pokusů o přenos zprávy během spolehlivé relace.

MaxTransferWindowSize

Získá nebo nastaví největší počet zpráv, které mohou existovat v vyrovnávací paměti pro odesílání nebo přijímat vyrovnávací paměť.

Ordered

Získá nebo nastaví hodnotu, která označuje, zda doručení zprávy musí zachovat pořadí, ve kterém se zprávy odesílají.

ReliableMessagingVersion

Získá nebo nastaví verzi WS-ReliableMessaging určené vazbou elementu.

Metody

BuildChannelFactory<TChannel>(BindingContext)

Vrátí továrnu, která vytvoří kanál zadaného typu, který podporuje spolehlivou relaci.

BuildChannelListener<TChannel>(BindingContext)

Vrátí naslouchací proces, který přijímá kanál zadaného typu, který podporuje spolehlivou relaci.

BuildChannelListener<TChannel>(BindingContext)

Inicializuje naslouchací proces kanálu tak, aby přijímal kanály zadaného typu z kontextu vazby.

(Zděděno od BindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Vrátí hodnotu, která označuje, jestli je možné vytvořit objekt pro vytváření kanálů pro kanál a kontext za předpokladu, že může podporovat spolehlivou relaci.

CanBuildChannelListener<TChannel>(BindingContext)

Vrátí hodnotu, která označuje, zda lze naslouchací proces kanálu sestavit pro kanál a kontext, který může podporovat spolehlivou relaci.

CanBuildChannelListener<TChannel>(BindingContext)

Vrátí hodnotu, která označuje, zda prvek vazby může vytvořit naslouchací proces pro konkrétní typ kanálu.

(Zděděno od BindingElement)
Clone()

Vytvoří kopii aktuálního spolehlivého prvku vazby relace.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetProperty<T>(BindingContext)

Získá vlastnost zadaného typu z kontextu vazby.

GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Mapy informace obsažené v prvku spolehlivé vazby relace do elementů WSDL, které umožňují vzdálenému koncovému bodu přistupovat ke službě pomocí spolehlivé relace.

Platí pro