MsmqIntegrationBinding Classe

Définition

La classe MsmqIntegrationBinding mappe les messages Microsoft Message Queuing (MSMQ) aux messages Windows Communication Foundation (WCF).

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

Exemples

L'extrait de code de fichier de configuration suivant illustre la méthode de configuration de la liaison MsmqIntegrationBinding sur le client :

L’extrait de code de fichier de configuration suivant illustre la méthode de configuration de la liaison MsmqIntegrationBinding sur le client :

[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
[ServiceKnownType(typeof(PurchaseOrder))]
public interface IOrderProcessor
{
    [OperationContract(IsOneWay = true, Action = "*")]
    void SubmitPurchaseOrder(MsmqMessage<PurchaseOrder> msg);
}
<ServiceContract(Namespace:="http:'Microsoft.ServiceModel.Samples")> _
<ServiceKnownType(GetType(PurchaseOrder))> _
Public Interface IOrderProcessor
    <OperationContract(IsOneWay:=True, Action:="*")> _
    Sub SubmitPurchaseOrder(ByVal msg As MsmqMessage(Of PurchaseOrder))
End Interface

Le code suivant illustre la méthode d’utilisation de la liaison MsmqIntegrationBinding sur le service par programme :

public class OrderProcessorService : IOrderProcessor
{
    [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
    public void SubmitPurchaseOrder(MsmqMessage<PurchaseOrder> ordermsg)
    {
        PurchaseOrder po = (PurchaseOrder)ordermsg.Body;
        Random statusIndexer = new Random();
        po.Status = (OrderStates)statusIndexer.Next(3);
        Console.WriteLine("Processing {0} ", po);
    }

    // Host the service within this EXE console application.
public static void Main()
{
    // Get base address from appsettings in configuration.
    Uri baseAddress = new Uri(ConfigurationManager.AppSettings["baseAddress"]);

    // Create a ServiceHost for the CalculatorService type and provide the base address.
    using (ServiceHost serviceHost = new ServiceHost(typeof(IOrderProcessor), 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("The service is running in the following account: {0}", WindowsIdentity.GetCurrent().Name);
        Console.WriteLine("Press <ENTER> to terminate service.");
        Console.WriteLine();
        Console.ReadLine();

    // Close the ServiceHostBase to shutdown the service.
        serviceHost.Close();
    }
}
}
Public Class OrderProcessorService
    Implements IOrderProcessor

    <OperationBehavior(TransactionScopeRequired:=True, TransactionAutoComplete:=True)> _
    Public Sub SubmitPurchaseOrder(ByVal ordermsg As MsmqMessage(Of PurchaseOrder)) Implements IOrderProcessor.SubmitPurchaseOrder
        Dim po As PurchaseOrder = ordermsg.Body
        Dim statusIndexer As New Random()
        po.Status = statusIndexer.Next(3)
        Console.WriteLine("Processing {0} ", po)
    End Sub
End Class

Le code suivant illustre la méthode d'utilisation de la liaison MsmqIntegrationBinding sur le client par programme :

MsmqIntegrationBinding binding = new MsmqIntegrationBinding();
EndpointAddress address = new EndpointAddress("msmq.formatname:DIRECT=OS:.\\private$\\Orders");
ChannelFactory<IOrderProcessor> channelFactory = new ChannelFactory<IOrderProcessor>(binding, address);
IOrderProcessor channel = channelFactory.CreateChannel();

PurchaseOrder po = new PurchaseOrder();
po.customerId = "somecustomer.com";
po.poNumber = Guid.NewGuid().ToString();

PurchaseOrderLineItem lineItem1 = new PurchaseOrderLineItem();
lineItem1.productId = "Blue Widget";
lineItem1.quantity = 54;
lineItem1.unitCost = 29.99F;

PurchaseOrderLineItem lineItem2 = new PurchaseOrderLineItem();
lineItem2.productId = "Red Widget";
lineItem2.quantity = 890;
lineItem2.unitCost = 45.89F;

po.orderLineItems = new PurchaseOrderLineItem[2];
po.orderLineItems[0] = lineItem1;
po.orderLineItems[1] = lineItem2;

MsmqMessage<PurchaseOrder> ordermsg = new MsmqMessage<PurchaseOrder>(po);
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
{
    channel.SubmitPurchaseOrder(ordermsg);
    scope.Complete();
}
Console.WriteLine("Order has been submitted:{0}", po);
Dim binding As New MsmqIntegrationBinding()
Dim address As New EndpointAddress("msmq.formatname:DIRECT=OS:.\\private$\\Orders")
Dim channelFactory As New ChannelFactory(Of IOrderProcessor)(binding, address)
Dim channel As IOrderProcessor = channelFactory.CreateChannel()

Dim po As New PurchaseOrder()
po.customerId = "somecustomer.com"
po.poNumber = Guid.NewGuid().ToString()

Dim lineItem1 As New PurchaseOrderLineItem()
lineItem1.productId = "Blue Widget"
lineItem1.quantity = 54
lineItem1.unitCost = 29.99F

Dim lineItem2 = New PurchaseOrderLineItem()
lineItem2.productId = "Red Widget"
lineItem2.quantity = 890
lineItem2.unitCost = 45.89F

Dim lineItems(1) As PurchaseOrderLineItem
lineItems(0) = lineItem1
lineItems(1) = lineItem2

po.orderLineItems = lineItems

Dim ordermsg As MsmqMessage(Of PurchaseOrder) = New MsmqMessage(Of PurchaseOrder)(po)
Using scope As New TransactionScope(TransactionScopeOption.Required)
    channel.SubmitPurchaseOrder(ordermsg)
    scope.Complete()
End Using
Console.WriteLine("Order has been submitted:{0}", po)

Remarques

Important

L’appel de méthodes de cette classe avec des données non approuvées est un risque de sécurité. Appelez les méthodes de cette classe avec des données approuvées uniquement. Pour plus d’informations, consultez Valider toutes les entrées.

Cette liaison peut être utilisée pour permettre aux applications WCF d’envoyer et de recevoir des messages vers et depuis des applications MSMQ existantes qui utilisent des API COM, C++ natives ou les types définis dans l’espace System.Messaging de noms.

Constructeurs

MsmqIntegrationBinding()

Initialise une nouvelle instance de la classe MsmqIntegrationBinding.

MsmqIntegrationBinding(MsmqIntegrationSecurityMode)

Initialise une nouvelle instance de la classe MsmqIntegrationBinding à l'aide du MsmqIntegrationSecurityMode spécifié.

MsmqIntegrationBinding(String)

Initialise une nouvelle instance de la classe MsmqIntegrationBinding à 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)
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)
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)
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 la MsmqIntegrationSecurity qui est associée à 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)
SerializationFormat

Permet d'obtenir ou de définir le format de sérialisation à utiliser pour sérialiser ou désérialiser le message.

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

Retourne les éléments de liaison dans la pile de profil de base.

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

Obtient une valeur qui spécifie si les informations de sécurité doivent être sérialisées.

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 à