损坏的MSMQ扩展

时间:2020-02-12 21:05:53

标签: c# msmq

我们有一个结构,可以将其转换为字节数组,并将其打包为MSMQ扩展属性。该结构中的值之一是TimeToDelay值。我们遍历接收到的消息,以查找TimeToDelay +到达时间值小于当前时间的消息。基本上,消息是否在队列中至少存在TimeToDelay。如果有,那么我们将消息取出并进行处理,而不是FIFO。我遇到过这样一种情况,客户将队列置于负载之下,并且某些扩展字节数组作为垃圾接收。字节数组应如下所示:

4A-BF-CE-DB-EB-F3-29-41-BE-37-A5-27-1F-1F-3C-36-03-00-00-00-00-00-00-00 -00-00-00-00-01-00-00-00

但是它看起来像:

53-6E-67-3D-48-64-72-2A-6E-6F-74-78-64-65-74-65-63-74-3D-54-72-75-65-2A -63-74-72-6C-67-75-69-64-3D-31-35-37-34-36-35-37-39-37-37-2A-61-70-70-49-64 -3D-31-32-35-36-39-35-2A-6E-6F-64-65-69-64-3D-31-37-32-33-34-35-35-36

我已经阅读了所有内容,认为MSMQ不会损坏,但是我看不到其他任何解释。每次将消息写为第一个字节数组。我还读到,应该始终将MSMQ读为FIFO,但没有解释为什么如果不这样做,其副作用是什么?

1 个答案:

答案 0 :(得分:0)

我不知道我是否应该删除此消息,但它可能会对某人有所帮助。看了几个月的日志后,我注意到了一种模式。我将字节数组放入工具HxD中 将字节转换为可读的内容我发现有一些专门为AppDynamics设置的变量。我希望这对有人了解应用程序可以共享扩展以及如何更仔细地查看扩展有所帮助。