怪之一,當得到復位。我們有一個多線程應用程序,它將消息從MSMQ隊列中提取出來,然後根據消息執行操作。所有這些都是使用DTC完成的。MessageReadPropertyFilter使用MSMQ
有時候,由於某種原因,我無法用語言形容,我們得到的消息拉從隊列消息時讀取錯誤。
是在應用程序正在使用的代碼:
Message[] allMessagesOnQueue = this.messageQueue.GetAllMessages();
foreach (Message currentMessage in allMessagesOnQueue)
{
if ((currentMessage.Body is IAMessageIDealWith))
{
// do something;
}
}
當currentMessage.Body被訪問時,有時它拋出異常:
System.InvalidOperationException:屬性機構未檢索時接收消息。確保PropertyFilter設置正確。
現在 - 這只是發生在某些時候 - 它看起來好像在隊列中的MessageReadPropertyFilter有身體屬性設置爲false。
至於它是如何得到這樣一個有點神祕。 Body屬性是默認值之一,我們absolutley從不明確地將其設置爲false。
有其他人看到這種behaivour的或有一些想法,爲什麼這個值是越來越設置爲假?
一個這是我的答案。 +1 – SimonGoldstone 2014-08-26 11:38:50