Partager via


NetMsmqBinding Classe

Définition

Représente une liaison mise en file d'attente qui est adaptée à des communications entre ordinateurs.

public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
    inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
Héritage
NetMsmqBinding

Exemples

L’exemple suivant indique comment configurer un service pour utiliser la liaison NetMsmqBinding.

D'abord, le fichier de configuration.

Ensuite, le code de service réel.

// Define a service contract.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
public interface IQueueCalculator
{
    [OperationContract(IsOneWay=true)]
    void Add(double n1, double n2);
    [OperationContract(IsOneWay = true)]
    void Subtract(double n1, double n2);
    [OperationContract(IsOneWay = true)]
    void Multiply(double n1, double n2);
    [OperationContract(IsOneWay = true)]
    void Divide(double n1, double n2);
}
' Define a service contract. 
<ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _
Public Interface IQueueCalculator
    <OperationContract(IsOneWay:=True)> _
    Sub Add(ByVal n1 As Double, ByVal n2 As Double)
    <OperationContract(IsOneWay := True)> _
    Sub Subtract(ByVal n1 As Double, ByVal n2 As Double)
    <OperationContract(IsOneWay := True)> _
    Sub Multiply(ByVal n1 As Double, ByVal n2 As Double)
    <OperationContract(IsOneWay := True)> _
    Sub Divide(ByVal n1 As Double, ByVal n2 As Double)
End Interface
// Service class that implements the service contract.
// Added code to write output to the console window
public class CalculatorService : IQueueCalculator
{
    [OperationBehavior]
    public void Add(double n1, double n2)
    {
        double result = n1 + n2;
        Console.WriteLine("Received Add({0},{1}) - result: {2}", n1, n2, result);
    }

    [OperationBehavior]
    public void Subtract(double n1, double n2)
    {
        double result = n1 - n2;
        Console.WriteLine("Received Subtract({0},{1}) - result: {2}", n1, n2, result);
    }

    [OperationBehavior]
    public void Multiply(double n1, double n2)
    {
        double result = n1 * n2;
        Console.WriteLine("Received Multiply({0},{1}) - result: {2}", n1, n2, result);
    }

    [OperationBehavior]
    public void Divide(double n1, double n2)
    {
        double result = n1 / n2;
        Console.WriteLine("Received Divide({0},{1}) - result: {2}", n1, n2, result);
    }
}
' Service class that implements the service contract.
' Added code to write output to the console window
Public Class CalculatorService
    Implements IQueueCalculator
    <OperationBehavior> _
    Public Sub Add(ByVal n1 As Double, ByVal n2 As Double) Implements IQueueCalculator.Add
        Dim result As Double = n1 + n2
        Console.WriteLine("Received Add({0},{1}) - result: {2}", n1, n2, result)
    End Sub

    <OperationBehavior> _
    Public Sub Subtract(ByVal n1 As Double, ByVal n2 As Double) Implements IQueueCalculator.Subtract
        Dim result As Double = n1 - n2
        Console.WriteLine("Received Subtract({0},{1}) - result: {2}", n1, n2, result)
    End Sub

    <OperationBehavior> _
    Public Sub Multiply(ByVal n1 As Double, ByVal n2 As Double) Implements IQueueCalculator.Multiply
        Dim result As Double = n1 * n2
        Console.WriteLine("Received Multiply({0},{1}) - result: {2}", n1, n2, result)
    End Sub

    <OperationBehavior> _
    Public Sub Divide(ByVal n1 As Double, ByVal n2 As Double) Implements IQueueCalculator.Divide
        Dim result As Double = n1 / n2
        Console.WriteLine("Received Divide({0},{1}) - result: {2}", n1, n2, result)
    End Sub
End Class
// This is the hosting application. This code can appear directly in the service class as well.
class HostApp
{
    // Host the service within this EXE console application.
    public static void Main()
    {
        // Get MSMQ queue name from appsettings in configuration.
        string queueName = ConfigurationManager.AppSettings["queueName"];

        // Create the transacted MSMQ queue if necessary.
        if (!MessageQueue.Exists(queueName))
            MessageQueue.Create(queueName, true);

        // Get the base address that is used to listen for WS-MetaDataExchange requests.
        // This is useful to generate a proxy for the client.
        string baseAddress = ConfigurationManager.AppSettings["baseAddress"];

        // Create a ServiceHost for the CalculatorService type.
        using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), new Uri(baseAddress)))
        {
            // 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();
        }
    }
}
' This is the hosting application. This code can appear directly in the service class as well.
Friend Class HostApp
    ' Host the service within this EXE console application.
    Public Shared Sub Main()
        ' Get MSMQ queue name from appsettings in configuration.
        Dim queueName As String = ConfigurationManager.AppSettings("queueName")

        ' Create the transacted MSMQ queue if necessary.
        If (Not MessageQueue.Exists(queueName)) Then
            MessageQueue.Create(queueName, True)
        End If

        ' Get the base address that is used to listen for WS-MetaDataExchange requests.
        ' This is useful to generate a proxy for the client.
        Dim baseAddress As String = ConfigurationManager.AppSettings("baseAddress")

        ' Create a ServiceHost for the CalculatorService type.
        Using serviceHost As New ServiceHost(GetType(CalculatorService), New Uri(baseAddress))
            ' 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
    End Sub
End Class

Remarques

La liaison NetMsmqBinding fournit la prise en charge de la mise en file d'attente en utilisant Microsoft Message Queuing (MSMQ) comme transport et active la prise en charge des applications faiblement couplées, de l'isolation de défaillance, du nivellement de charge et des opérations hors circuit. Pour une présentation de ces fonctionnalités, consultez Vue d’ensemble des files d’attente.

Il s’agit de l’une des liaisons fournies par le système fournies par Windows Communication Foundation (WCF). La procédure recommandée est de définir la liaison à l'aide de valeurs de configuration et non pas d'utiliser du code, sauf dans certains scénarios avancés dans lesquels les valeurs de configuration doivent être définies lorsqu'un service est initialisé.

Constructeurs

NetMsmqBinding()

Initialise une nouvelle instance de la classe NetMsmqBinding.

NetMsmqBinding(NetMsmqSecurityMode)

Initialise une nouvelle instance de la classe NetMsmqBinding à l'aide du mode de sécurité spécifié.

NetMsmqBinding(String)

Initialise une nouvelle instance de la classe NetMsmqBinding à partir des paramètres d’un élément de liaison de configuration spécifié.

Propriétés

CloseTimeout

Obtient ou définit l'intervalle de temps attribué à une connexion pour qu'elle se ferme avant que le transport lève une exception.

(Hérité de Binding)
CustomDeadLetterQueue

Obtient ou définit un URI qui contient l'emplacement de la file d'attente de lettres mortes pour chaque application, dans laquelle les messages expirés ou dont le transfert ou la remise a échoué sont placés.

(Hérité de MsmqBindingBase)
DeadLetterQueue

Obtient ou définit une valeur d'énumération qui indique le type de file d'attente de lettres mortes à utiliser.

(Hérité de MsmqBindingBase)
Durable

Obtient ou définit une valeur qui indique si les messages traités par cette liaison sont durables ou volatils.

(Hérité de MsmqBindingBase)
EnvelopeVersion

Obtient la version de SOAP utilisée pour les messages traités par cette liaison.

ExactlyOnce

Obtient ou définit une valeur qui indique si les messages traités par cette liaison sont reçus exactement une fois.

(Hérité de MsmqBindingBase)
MaxBufferPoolSize

Obtient ou définit la quantité de mémoire maximale allouée pour le gestionnaire de mémoires tampons de message qui reçoit des messages du canal.

MaxReceivedMessageSize

Obtient ou définit la taille maximale (en octets) d'un message qui est traité par cette liaison.

(Hérité de MsmqBindingBase)
MaxRetryCycles

Obtient ou définit le nombre maximal de cycles de nouvelle tentative de livraison de messages à l'application de réception.

(Hérité de MsmqBindingBase)
MessageVersion

Obtient la version de message utilisée par les clients et les services configurés avec la liaison.

(Hérité de Binding)
Name

Obtient ou définit le nom de la liaison.

(Hérité de Binding)
Namespace

Obtient ou définit l’espace de noms XML de la liaison.

(Hérité de Binding)
OpenTimeout

Obtient ou définit l'intervalle de temps attribué à une connexion pour qu'elle s'ouvre avant que le transport lève une exception.

(Hérité de Binding)
QueueTransferProtocol

Obtient ou définit une valeur d'énumération qui indique le transport de canal de communication en file d'attente que cette liaison utilise.

ReaderQuotas

Obtient ou définit les XmlDictionaryReaderQuotas associés à cette liaison.

ReceiveContextEnabled

Obtient ou définit une valeur qui indique si le comportement de contexte de réception est demandé.

(Hérité de MsmqBindingBase)
ReceiveErrorHandling

Obtient ou définit une valeur d'énumération qui spécifie le mode de gestion des messages incohérents.

(Hérité de MsmqBindingBase)
ReceiveRetryCount

Obtient ou définit le nombre maximal de tentatives de remise immédiate pour un message lu à partir de la file d'attente d'application.

(Hérité de MsmqBindingBase)
ReceiveTimeout

Obtient ou définit la durée d’inactivité d’une connexion. Si aucun message d’application n’est reçu pendant ce laps de temps, la connexion est abandonnée.

(Hérité de Binding)
RetryCycleDelay

Obtient ou définit une valeur qui indique l'intervalle entre des cycles de nouvelle tentative de remise d'un message dont la remise immédiate est impossible.

(Hérité de MsmqBindingBase)
Scheme

Retourne le schéma de cette liaison.

(Hérité de MsmqBindingBase)
Security

Obtient ou définit les NetMsmqSecurity associés à cette liaison.

SendTimeout

Obtient ou définit l'intervalle de temps attribué à une opération d'écriture pour qu'elle se termine avant que le transport lève une exception.

(Hérité de Binding)
TimeToLive

Obtient ou définit l'intervalle de temps qui indique combien de temps les messages traités par cette liaison peuvent rester dans la file d'attente avant d'expirer.

(Hérité de MsmqBindingBase)
UseActiveDirectory

Obtient ou définit une valeur qui indique si les adresses de file d'attente doivent être converties à l'aide d'Active Directory.

UseMsmqTracing

Obtient ou définit une valeur qui indique si les messages traités par cette liaison doivent être suivis.

(Hérité de MsmqBindingBase)
UseSourceJournal

Obtient ou définit une valeur qui indique si les copies des messages traités par cette liaison doivent être stockées dans la file d’attente du journal source.

(Hérité de MsmqBindingBase)
ValidityDuration

Obtient ou définit une valeur qui spécifie la durée de verrouillage d'un message par la fonctionnalité de contexte de réception.

(Hérité de MsmqBindingBase)

Méthodes

BuildChannelFactory<TChannel>(BindingParameterCollection)

Génère la pile de fabriques de canaux sur le client qui crée un type de canal donné et est conforme aux fonctionnalités spécifiées par une collection de paramètres de liaison.

(Hérité de Binding)
BuildChannelFactory<TChannel>(Object[])

Génère la pile de fabriques de canaux sur le client qui crée un type de canal donné et est conforme aux fonctionnalités spécifiées par un tableau d’objets.

(Hérité de Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées par une collection de paramètres de liaison.

(Hérité de Binding)
BuildChannelListener<TChannel>(Object[])

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.

(Hérité de Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.

(Hérité de Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.

(Hérité de Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.

(Hérité de Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.

(Hérité de Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.

(Hérité de Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Génère l'écouteur de canal sur le service qui accepte un type de canal donné et est conforme aux fonctionnalités spécifiées.

(Hérité de Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Retourne une valeur qui indique si la liaison actuelle peut générer sur le client une pile de fabriques de canaux conforme à la collection de paramètres de liaison spécifiée.

(Hérité de Binding)
CanBuildChannelFactory<TChannel>(Object[])

Retourne une valeur qui indique si la liaison actuelle peut générer sur le client une pile de fabriques de canaux conforme aux exigences définies par un tableau d’objets.

(Hérité de Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Retourne une valeur qui indique si la liaison actuelle peut générer sur le service une pile d’écouteurs de canal conforme à la collection de paramètres de liaison spécifiée.

(Hérité de Binding)
CanBuildChannelListener<TChannel>(Object[])

Retourne une valeur qui indique si la liaison actuelle peut générer sur le service une pile d’écouteurs de canal conforme aux critères spécifiés dans un tableau d’objets.

(Hérité de Binding)
CreateBindingElements()

Renvoie une collection ordonnée d’éléments de liaison contenus dans la liaison actuelle.

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

Retourne un objet typé demandé (s’il existe) à partir de la couche appropriée dans la pile de liaison.

(Hérité de Binding)
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)
ShouldSerializeName()

Retourne une valeur indiquant si le nom de la liaison doit être sérialisé.

(Hérité de Binding)
ShouldSerializeNamespace()

Retourne une valeur indiquant si l’espace de noms de la liaison doit être sérialisé.

(Hérité de Binding)
ShouldSerializeReaderQuotas()

Retourne une valeur qui indique si la propriété ReaderQuotas utilise une autre valeur que sa valeur par défaut et doit être sérialisée.

ShouldSerializeSecurity()

Retourne une valeur qui indique si la propriété Security utilise une autre valeur que sa valeur par défaut et doit être sérialisée.

ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

IBindingRuntimePreferences.ReceiveSynchronously

Obtient une valeur qui indique si les demandes entrantes peuvent être gérées plus efficacement de manière synchrone ou asynchrone.

(Hérité de MsmqBindingBase)

S’applique à