Mutex über Netzwerk - C#.NET

Habe ich eine message-queue auf einem gemeinsamen system. Dieser Warteschlange erfolgt durch 2 Prozesse, die laufen auf 2 anderen Maschinen. Ich brauche, um den Zugriff auf diese Warteschlange von der 2-Prozesse. Also brauche ich eine "Netzwerk-mutex". Wie kann ich das erreichen?

Ich glaube nicht, dass diese out of the box unterstützt in C#.NET aber wenn ich etwas verpasst haben sehr offensichtlich, weisen mich in die richtige Richtung. Diese Frage wurde vorhin gefragt, aber die Lösungen, die vorgeschlagen beteiligten eine Datenbank. Ich habe eine Datenbank in Frage.

Wie Mutex, die Über ein Netzwerk?

  • Versuchen Sie zu vermeiden, zwei Prozesse abarbeiten der Warteschlange und die Verarbeitung der gleichen Nachricht oder etwas anderes?
  • Ich weiß nicht, ob MSMQ könnte, Ihre Anforderungen zu erfüllen, aber vielleicht einen Blick Wert.
  • Ja! Jede Lösung, die von der Spitze Ihres Geistes? @aaronls: ich bin mit MSMQ ... nicht sicher, ob es bietet einige Bauten in der schließ-Anlage, die ich verwenden kann??
  • Ich habe nicht verwendet, MSMQ, aber Sie sollten in der Lage sein, um Sie zu konfigurieren, zu handeln, als das Schloss für Sie, (ich.e, nicht mit einem publisher/subscriber-multicast-Modell) BEARBEITEN - EINE schnelle google scheint nahe zu legen, was Sie wollen, ist das default-Verhalten für MSMQ, haben Sie versucht, die Einstellung und testen Sie es mit zwei Prozessen?
  • Ich Suche auf dieser. Was MSMQ unterstützt wird die Atomarität der Nachricht zugestellt oder abgeholt werden. Jedoch, meine Bewerbung liest die Nachricht - die Nachricht verarbeitet und dann löscht ihn aus der Warteschlange. Also das Lesen und löschen sind Sie sicher gehandhabt, die von MSMQ-aber nach dem Lesen und vor dem löschen gibt es nichts, um zu verhindern, dass eine andere Instanz von meinem Programm auf einem anderen Rechner aus immer die gleiche Meldung.
  • wie liest du die Nachricht, durch Lesen der Nachricht sollte es entfernen und verhindern, dass andere threads zu sehen, es in einem thread-sichere Weise. Wenn du mit "peek" funktioniert und dann manuell entfernen Sie nach der Verarbeitung dann wird dies zu Problemen führen.

InformationsquelleAutor atlantis | 2010-02-01
Schreibe einen Kommentar