MsmqIntegrationBinding Classe

Définition

La classe MsmqIntegrationBinding mappe Microsoft messages 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 montre comment configurer la MsmqIntegrationBinding liaison sur le client :

L’extrait de code de fichier de configuration suivant montre comment configurer la MsmqIntegrationBinding liaison sur le service :

[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 montre comment utiliser la MsmqIntegrationBinding liaison sur le service par programmation :

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 montre comment utiliser la MsmqIntegrationBinding liaison sur le client par programmation :

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 uniquement avec des données approuvées. 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

Nom Description
MsmqIntegrationBinding()

Initialise une nouvelle instance de la classe MsmqIntegrationBinding.

MsmqIntegrationBinding(MsmqIntegrationSecurityMode)

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

MsmqIntegrationBinding(String)

Initialise une nouvelle instance de la MsmqIntegrationBinding 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)
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, 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)
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 l’élément MsmqIntegrationSecurity 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)
SerializationFormat

Obtient ou définit 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 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)
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 les éléments de liaison dans la pile de profils de base.

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

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 à