c# - Does a MessageQueue block on a send if the queue is full -


i've been looking through documentation on message queues , can't seem find information i'm looking for. i'm trying accomplish log name of mysql database procedure whenever called purpose of tracking how each procedure called. thought log name messagequeue when called , have service process queue count calls periodically. avoid writing additional record database each procedure call. since not critical function, able skip logging if queue full. i'm looking following information:

  • does messagequeue.send block if queue full?
  • does messagequeue store message in memory or on disk? i'd keep in memory, if option write file, don't think we're looking for.

also if i'm overlooking easier solution here, let me know.

no, full queue not block.

  • sending full local queue return exception.
  • sending full remote queue discard message, or move dead letter queue, appropriate.

msmq express messages memory-resident only. may written disk when system under memory pressure not persistent - reboot lose them.


Comments