Frage

Ich sehe ständig Dokumentation sagen, dass es ist nicht möglich, zu einer entfernten Transaktionswarteschlange MSMQ, außerhalb des Bereichs einer Transaktion zu senden. Ich finde, diese schwer zu glauben, weil ich denken Ich habe jetzt genau das seit Wochen zu tun. Ich habe eine kleine app, dass Beiträge Nachrichten an eine Remote-Warteschlange, die transaktions ist. Nur mit Leistung zu experimentieren, sind verschiedene Versionen des Clients entweder eine Transaction wickeln Sie den Sendevorgang oder nicht. Letztlich schien, viel intelligenter und schneller eine Kompensationstransaktionslogik mit so fiel Verwendung von Transaction sowohl auf Client und Server wurden. Die Sache ist, Nachrichten immer noch in der Warteschlange zu zeigen scheinen, und durch den Dienst ohne Probleme verarbeitet bekommen.

Kann jemand mir erklären, was es ist, dass ich hier fehlt? Bin ich gerade dick? Fühlen Sie sich frei zu sagen, so (es wird sicherlich nicht das erste Mal sein).

War es hilfreich?

Lösung

Die Transaktion, die Sie mit der Transaction beziehen sich auf der dtc (Distributed Transaction Coordinator) umgesetzt werden. msmq (wie SQL) haben ihre interne Transaktion Motor. Es ist eine Eigenschaft in der Nachricht, die, dass seine eine Transaktionsmeldung besagt. Und Sie es wahrscheinlich irgendwo in Sie Code festgelegt.

Andere Tipps

Es hängt davon ab, welche Version von MSMQ Sie verwenden. Nur MSMQ 4.0 und höher (Vista, 7, Server 2008) können Remote-Transaktions tun liest. Und Sie sind mit der Transaction richtig, als DTC verwendet werden muss.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top