NetMsmqBinding Classe

Définition

Représente une liaison mise en file d’attente qui convient à la communication 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 montre comment configurer un service pour utiliser la NetMsmqBinding liaison.

Tout 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 NetMsmqBinding liaison prend en charge la mise en file d’attente à l’aide de Message Queuing (MSMQ) comme transport et permet la prise en charge des applications faiblement couplées, l’isolation des défaillances, le nivellement de charge et les opérations déconnectées. Pour une discussion sur ces fonctionnalités, consultez La 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 consiste à définir la liaison à l’aide de valeurs de configuration et à ne pas utiliser d’approche basée sur le code, sauf dans certains scénarios avancés où les valeurs de configuration doivent être définies en tant que service initialisé.

Constructeurs

Nom Description
NetMsmqBinding()

Initialise une nouvelle instance de la classe NetMsmqBinding.

NetMsmqBinding(NetMsmqSecurityMode)

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

NetMsmqBinding(String)

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

Propriétés

Nom Description
CloseTimeout

Obtient ou définit l’intervalle de temps fourni pour une connexion à fermer avant que le transport déclenche 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, où les messages ayant expiré ou ayant échoué le transfert ou la remise 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 volatiles.

(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é maximale de mémoire allouée pour une utilisation par le gestionnaire de mémoires tampons de messages qui reçoit les messages du canal.

MaxReceivedMessageSize

Obtient ou définit la taille maximale, en octets, pour un message traité par cette liaison.

(Hérité de MsmqBindingBase)
MaxRetryCycles

Obtient ou définit le nombre maximal de cycles de nouvelle tentative pour tenter la remise de messages à l’application de réception.

(Hérité de MsmqBindingBase)
MessageVersion

Obtient la version du 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 fourni pour qu’une connexion s’ouvre avant que le transport déclenche une exception.

(Hérité de Binding)
QueueTransferProtocol

Obtient ou définit une valeur d’énumération qui indique le transport de canal de communication mis en file d’attente utilisé par cette liaison.

ReaderQuotas

Obtient ou définit l’élément XmlDictionaryReaderQuotas associé à 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 la façon dont les messages incohérents sont gérés.

(Hérité de MsmqBindingBase)
ReceiveRetryCount

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

(Hérité de MsmqBindingBase)
ReceiveTimeout

Obtient ou définit l’intervalle de temps pendant lequel une connexion peut rester inactive, pendant laquelle aucun message d’application n’est reçu, avant d’être supprimé.

(Hérité de Binding)
RetryCycleDelay

Obtient ou définit une valeur qui indique le délai entre les cycles de nouvelle tentative lors de la tentative de remise d’un message qui ne peut pas être remis immédiatement.

(Hérité de MsmqBindingBase)
Scheme

Retourne le schéma de cette liaison.

(Hérité de MsmqBindingBase)
Security

Obtient ou définit l’élément NetMsmqSecurity associé à cette liaison.

SendTimeout

Obtient ou définit l’intervalle de temps fourni pour qu’une opération d’écriture se termine avant que le transport déclenche une exception.

(Hérité de Binding)
TimeToLive

Obtient ou définit l’intervalle de temps qui indique la durée pendant laquelle les messages traités par cette liaison peuvent se trouver dans la file d’attente avant leur expiration.

(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 pendant laquelle un message sera verrouillé par la fonctionnalité de contexte de réception.

(Hérité de MsmqBindingBase)

Méthodes

Nom Description
BuildChannelFactory<TChannel>(BindingParameterCollection)

Génère la pile de fabrique de canaux sur le client qui crée un type de canal spécifié et qui satisfait 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 fabrique de canaux sur le client qui crée un type de canal spécifié et qui satisfait 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 spécifié et qui satisfait 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 spécifié et qui satisfait 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 spécifié et qui satisfait 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 spécifié et qui satisfait 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 spécifié et qui satisfait 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 spécifié et qui satisfait 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 spécifié et qui satisfait 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 spécifié et qui satisfait 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 une pile de fabriques de canaux sur le client qui satisfait à la collection de paramètres de liaison spécifié.

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

Retourne une valeur qui indique si la liaison actuelle peut générer une pile de fabriques de canaux sur le client qui répond aux exigences spécifiées 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 une pile d’écouteurs de canal sur le service qui satisfait à la collection de paramètres de liaison spécifié.

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

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

(Hérité de Binding)
CreateBindingElements()

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

Sert de fonction de hachage par défaut.

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

Retourne un objet typé demandé, le cas échéant, à partir de la couche appropriée dans la pile de liaisons.

(Hérité de Binding)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ShouldSerializeName()

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

(Hérité de Binding)
ShouldSerializeNamespace()

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

(Hérité de Binding)
ShouldSerializeReaderQuotas()

Retourne une valeur qui indique si la ReaderQuotas propriété a changé de sa valeur par défaut et doit être sérialisée.

ShouldSerializeSecurity()

Retourne une valeur qui indique si la Security propriété a changé de 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

Nom Description
IBindingRuntimePreferences.ReceiveSynchronously

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

(Hérité de MsmqBindingBase)

S’applique à