2009-03-10 9 views
1

J'utilise MSMQ comme un moyen de fournir SOA asynchrone. Veuillez vous référer au code ci-dessous car c'est assez difficile à expliquer. J'essaie de trouver la meilleure façon de le faire. Comme le code devient plus complexe, il sera très difficile à gérer. Toutes les suggestions sont les bienvenues!question liée à MSMQ "comment faire un message"

Répondre

1

Regardez dans l'utilisation des délégués. Ils vous permettront de passer l'appel de méthode réel dans le MSMQ afin que vous puissiez ensuite déclencher le délégué/action lorsque vous le récupérez de la file d'attente.

+0

merci. pourquoi n'ai-je pas pensé à un délégué. – Jeff

+0

mais en fait ce que je pensais était que je voulais que le backend soit transparent pour le client, ce qui signifie que le OrderRepo peut ne pas être exposé au client, je veux avoir un mécanisme pour le client et revenir pour échanger des instructions. – Jeff

+0

Si votre logique est dans une DLL, le recto et le verso peuvent le partager. – cjk

0

Utilisez WCF. Microsoft l'a enveloppé pour que le service (au sens de SOA) se présente comme un appel de méthode, le transport étant MSMQ.

Le contrat est nécessairement à sens unique, et le fait que le transport se trouve être MSMQ est totalement accessoire au service et à son client (sauf dans la mesure où ce choix force un contrat à sens unique).


Sur une autre note, je me sens obligé de commenter: jusqu'à ce que vous pouvez exprimer clairement et succinctement l'intention et la stratégie de mise en œuvre, vous n'avez pas une idée claire et complète de ce que vous créez, et vos chances de succès sont minces au mieux. Le développement de logiciel commence par prendre les confidences vagues de gestion et de ventes et appliquer le bon sens en leur nom, avec des cycles de rétroaction, jusqu'à ce qu'un côté perd l'intérêt, le budget s'épuise, ou vous produisez ce que les commanditaires de projet considèrent comme une interprétation claire et concise de ce qu'ils imaginent avoir dit pendant ce premier bras excité.

Si vous ne pouvez pas expliquer ce que vous faites, alors vous ne savez pas ce que vous faites. Il est temps d'arrêter et de réfléchir jusqu'à ce que vous le fassiez.