[.NET] 當用System.Messaging.MessageQueue.Send傳送資料遇到InvalidCastException、NullReferenceException

摘要:[.NET] 當用System.Messaging.MessageQueue.Send傳送資料遇到InvalidCastException、NullReferenceException

在多執行緒程式中使用MessageQueue Class來傳送資料,很容易遇到InvalidCastException、NullReferenceException等等錯誤訊息。


這時只需要在傳送資料的程式碼上加入lock機制,強制一次只能有一條執行緒傳送,就可以避免掉這個問題。


lock(_messageQueue)
{
    _messageQueue.Send(dataBytes);
}

期許自己
能以更簡潔的文字與程式碼,傳達出程式設計背後的精神。
真正做到「以形寫神」的境界。