2009-12-01 3 views
1

J'analyse une application BizTalk (aka orchestration) qui communique avec un service WCF par MSMQ. Je me demandais pourquoi une des implémentations de service WCF a un MsmqMessage en tant que paramètre dans la méthode de service. Je m'attendais à un contrat de type T au lieu d'un MsmqMessage.MsmqMessage <T> nécessaire?

Cela ne constitue pas vraiment une liaison agnostique, car la méthode de service WCF contient un type MSMQ spécifique.

Est-ce vraiment nécessaire d'avoir un type de liaison MsmqMessage lors de la communication d'une application BizTalk à un service WCM MSMQ?

Voici le code actuel:

public void SaveDocumentASync(MsmqMessage<MyDocument> msg) 
{ 
} 

Je veux ceci:

public void SaveDocumentASync(MyDocument msg) 
{ 
} 

Répondre

1

Pour autant que je me souvienne, la raison est que vous utilisez MsmqIntegrationBinding, pas le NetMsmqBinding. MsmqMessage <T> vous donne accès aux propriétés de message MSMQ (à la fois sur l'envoi et la réception), ce qui peut être utile sur un grand nombre de scénarios.