MsmqIntegrationBinding Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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) |