ReliableSessionBindingElement Classe

Définition

Représente l’élément de liaison qui peut produire les canaux d’envoi et de réception requis pour une session fiable entre les 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

Vous ReliableSessionBindingElement pouvez l’ajouter à n’importe quelle liaison personnalisée. Pour ce faire, utilisez les éléments de configuration suivants.

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

L’exemple de code suivant montre 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 fournit éventuellement une remise de messages ordonnée. Cette session implémentée peut traverser les 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 de messages. Au moment de l’exécution, les éléments de liaison créent les fabriques de canaux et les écouteurs nécessaires pour générer des piles de canaux sortantes et entrantes requises pour envoyer et recevoir des messages. Il ReliableSessionBindingElement fournit une couche facultative dans la pile qui peut établir une session fiable entre les points de terminaison et configurer le comportement de cette session.

Il ReliableSessionBindingElement est fourni sur les liaisons standard dans le tableau suivant.

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

Constructeurs

Nom Description
ReliableSessionBindingElement()

Initialise une nouvelle instance de la classe ReliableSessionBindingElement.

ReliableSessionBindingElement(Boolean)

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

Propriétés

Nom Description
AcknowledgementInterval

Obtient ou définit l’intervalle de temps pendant lequel une destination attend avant d’envoyer un accusé de réception à la source du message sur des canaux fiables créés par la fabrique.

FlowControlEnabled

Obtient ou définit une valeur qui indique si la session fiable a activé le contrôle de flux.

InactivityTimeout

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

MaxPendingChannels

Obtient ou définit le plus grand nombre de canaux qui peuvent être en attente pendant la session fiable.

MaxRetryCount

Obtient ou définit le nombre maximal de 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 la mémoire tampon de réception.

Ordered

Obtient ou définit une valeur qui indique si la remise des messages doit conserver l’ordre dans lequel les messages sont envoyés.

ReliableMessagingVersion

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

Méthodes

Nom Description
BuildChannelFactory<TChannel>(BindingContext)

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

BuildChannelListener<TChannel>(BindingContext)

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

CanBuildChannelFactory<TChannel>(BindingContext)

Retourne une valeur qui indique si la fabrique de canaux peut être générée pour le canal et le contexte fournis qui peuvent prendre en charge une session fiable.

CanBuildChannelListener<TChannel>(BindingContext)

Retourne une valeur qui indique si l’écouteur de canal peut être généré pour le canal et le contexte fournis qui peuvent prendre en charge une session fiable.

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()

Sert 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 la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
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 à