【问题标题】:MSMQ read fails during high load in .NetMSMQ 读取在 .Net 中的高负载期间失败
【发布时间】:2012-05-15 01:02:15
【问题描述】:

我在 msmq 上发送和接收消息。它在低负载下工作正常,但是一旦我将其泵送至每分钟 100 条消息,几分钟后我就会尝试读取队列:

System.Exception: Stream was not readable.
    at System.IO.BinaryReader..ctor(Stream input, Encoding encoding)
    at System.IO.BinaryReader..ctor(Stream input)

知道如何解决此类问题吗?

【问题讨论】:

    标签: msmq


    【解决方案1】:

    每分钟 100 条消息对于 MSMQ 来说是微不足道的……你 100% 确定异常不是来自其他地方吗?更多代码会有所帮助。你到底是如何从队列中读取的?您是从同一个进程或线程写入它吗?

    【讨论】:

    • 堆栈跟踪似乎暗示了以下行,其中 QMsg 的类型为 Message。
      新的 BinaryReader(QMsg.BodyStream)。
      是的,我相信我在同一个线程上阅读。
    • 如果您可以在此处发布您的代码,我们可以为您审核吗?我在系统中使用过 MSMQ,我们通过它每秒发送数百条消息!
    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 2023-03-29
    • 2012-07-06
    • 2018-09-19
    • 2010-12-25
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多