Testen, Ob ein Remote-MessageQueue Vorhanden ist (mit C#)
Wie kann ich feststellen, ob ein remote message queue existiert? Die Dokumentation besagt, dass die "Exists" - Methode funktioniert nicht für die remote-Maschinen.
Folgende ist nicht gültig (ich weiß, das queue Weg ist genau da bin ich in der Lage zum senden von Nachrichten in der Warteschlange):
if (!MessageQueue.Exists(@"FormatName:Direct=TCP:192.168.2.58\Private$\MyQueue")) throw new InvalidOperationException("Queue ist nicht vorhanden");
Das problem ist, dass das senden einer Nachricht an einen Netzwerk-Adresse, die nicht haben hören Warteschlange dahinter nicht zu einer exception führen. Eine Ausnahme für eine ungültige queue-Adresse ist besonders wichtig für unsere Anwendung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es einen Artikel dazu:
http://blogs.msdn.com/johnbreakwell/archive/2008/07/31/checking-if-msmq-queues-exist-is-hard-work-so-should-you-bother.aspx
Was ist, wenn der remote-Q kontrolliert wurde, die von einer Dritten Partei, wo Sie keine Kontrolle haben?
Solltest du besser eine Art timeout-Prüfungen, anstatt sich auf remote info.