c# - MSMQ Event Logging doesn't show dropped messages? -
so i'm trying msmq messages forwarded 1 machine (which dead easy - surprised), 1 of requirements ops side of house need able see log entry somewhere when remote server decides not accept message. example, if try send nonexistent queue, so:
messagequeue remotequeue = new messagequeue(@"formatname:direct=os:machinename\private$\notarealqueue"); remotequeue.send("test", messagequeuetransactiontype.single);
the message goes local delivery queue, , appears sent across network, because queue doesn't exist, remote msmq manager discards message. however, there's no entry in event log can find message being dropped on floor, , makes people nervous. microsoft/windows/msmq/endtoend log seems involve successful messages, doesn't seem particularly useful. there log i'm not seeing somewhere?
you can use msmq dead letter queues that.
message.usedeadletterqueue = true;
with enabled, if message can't delivered sent 1 of 2 system dead letter queues - 1 transactional , 1 non transactional messages. you'll find there reason why message not delivered, original destination queue, full message body, label, etc.
you can use 1 of tools managing queues resend or recover these messages.
Comments
Post a Comment