ReliableSessionBindingElement Classe

Définition

Représente l’élément de liaison qui peut produire les canaux d’émission et de réception requis pour une session fiable entre des points de terminaison.

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
Héritage
ReliableSessionBindingElement
Implémente

Exemples

ReliableSessionBindingElement peut être ajouté à toute liaison personnalisée. Cet ajout est effectué à l'aide des éléments de configuration suivants.

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

L'exemple de code suivant indique comment utiliser ReliableSessionBindingElement dans le code.

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

Remarques

Fournit des sessions et assure en option la remise de messages demandée. Cette session implémentée peut croiser des intermédiaires SOAP et de transport.

Chaque élément de liaison représente une étape de traitement lors de l’envoi ou de la réception des messages. Au moment de l’exécution, les éléments de liaison créent les fabrications de canal et les écouteurs nécessaires pour générer les piles de canaux sortants et entrants requis pour envoyer et recevoir des messages. Le ReliableSessionBindingElement fournit une couche facultative dans la pile capable d'établir une session fiable entre des points de terminaison et de configurer le comportement de cette session.

ReliableSessionBindingElement est fourni sur les liaisons standards dans le tableau suivant.

Liaison Par défaut
NetTcpBinding Désactivé
WSHttpBinding Désactivé
WSDualHttpBinding Activé (obligatoire)

Constructeurs

ReliableSessionBindingElement()

Initialise une nouvelle instance de la classe ReliableSessionBindingElement.

ReliableSessionBindingElement(Boolean)

Initialise une nouvelle instance de la classe ReliableSessionBindingElement qui spécifie si la remise des messages doit conserver l'ordre dans lequel les messages sont envoyés.

Propriétés

AcknowledgementInterval

Obtient ou définit l'intervalle d'attente d'une destination avant l'envoi d'un accusé de réception à la source de message sur les canaux fiables créés par la fabrication.

FlowControlEnabled

Obtient ou définit une valeur indiquant si le contrôle de flux est activé pour la session fiable.

InactivityTimeout

Obtient ou définit un intervalle de temps pendant lequel un service reste inactif avant sa fermeture.

MaxPendingChannels

Obtient ou définit le nombre maximal de canaux qui peuvent rester en attente dans une même session fiable.

MaxRetryCount

Obtient ou définit le nombre maximal des tentatives de transfert d'un message pendant la session fiable.

MaxTransferWindowSize

Obtient ou définit le plus grand nombre de messages qui peuvent exister dans la mémoire tampon d'envoi ou de réception.

Ordered

Obtient ou définit une valeur qui indique si la remise des messages doit se faire dans l'ordre d'envoi des messages.

ReliableMessagingVersion

Obtient ou définit la version de WS-ReliableMessaging spécifiée par l’élément de liaison.

Méthodes

BuildChannelFactory<TChannel>(BindingContext)

Retourne une fabrique qui crée un canal d'un type spécifié prenant en charge une session fiable.

BuildChannelListener<TChannel>(BindingContext)

Retourne un écouteur qui accepte un canal d'un type spécifié prenant en charge une session fiable.

BuildChannelListener<TChannel>(BindingContext)

Initialise un écouteur de canal pour accepter les canaux d’un type donné issus du contexte de liaison.

(Hérité de BindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Retourne une valeur qui indique si la fabrique de canal peut être construite pour le canal et le contexte fournis qui prennent en charge une session fiable.

CanBuildChannelListener<TChannel>(BindingContext)

Retourne une valeur qui indique si l'écouteur de canal peut être construit pour le canal et le contexte fournis qui prennent en charge une session fiable.

CanBuildChannelListener<TChannel>(BindingContext)

Retourne une valeur qui indique si l’élément de liaison peut générer un écouteur pour un type de canal spécifique.

(Hérité de BindingElement)
Clone()

Crée une copie de l’élément de liaison de session fiable actuel.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetProperty<T>(BindingContext)

Obtient une propriété du type spécifié à partir de son contexte de liaison.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Mappe les informations contenues dans l'élément de liaison de session fiable dans les éléments WSDL qui permettent à un point de terminaison distant d'accéder au service avec une session fiable.

S’applique à