MSMQ - 将消息发送到另一个队列时无法访问已关闭的流
MSMQ - Cannot access a closed Stream when Sending message to another queue
我正在从请求队列中读取一条消息,处理该请求,然后将已处理请求的结果放入响应队列。如果处理失败,我将尝试使用用于读取原始消息的同一事务将请求消息移至失败的请求队列。
failedRequestQueue.Send(message, transaction);
transaction.Commit();
但是,调用 Send 失败 "Cannot access a closed Stream."
在读取原始请求消息的 BodyStream 时,我使用了在 using 块中创建的 StreamReader,它反过来关闭了消息的 BodyStream,防止在将它从请求队列移动到失败的请求队列。从 StreamReader 中删除 using 语句修复了这个问题。
我正在从请求队列中读取一条消息,处理该请求,然后将已处理请求的结果放入响应队列。如果处理失败,我将尝试使用用于读取原始消息的同一事务将请求消息移至失败的请求队列。
failedRequestQueue.Send(message, transaction);
transaction.Commit();
但是,调用 Send 失败 "Cannot access a closed Stream."
在读取原始请求消息的 BodyStream 时,我使用了在 using 块中创建的 StreamReader,它反过来关闭了消息的 BodyStream,防止在将它从请求队列移动到失败的请求队列。从 StreamReader 中删除 using 语句修复了这个问题。