我嘗試將序列化數據發送到MSMQ,但得到「System.InvalidCastException:指定的轉換無效」。錯誤。我把我的發送方法和日誌跟隨。請建議我解決這個錯誤。將序列化數據發送到MSMQ時發生InvalidCastException
// Here MyMessage is my class which contain some
// stuff which I want to pass to MSMQ.
public void Send(MyMessage myMessage)
{
XmlSerializer ser = new XmlSerializer(typeof(MyMessage));
StringBuilder sb = new StringBuilder();
using (StringWriter writer = new StringWriter())
{
ser.Serialize(writer, myMessage);
Debug.WriteLine(writer.ToString());
}
Message _myMessage = new Message(myMessage, new BinaryMessageFormatter());
//_messageQueue is object of MSMQMessage
_messageQueue.Send(_myMessage);
}
登錄:
System.InvalidCastException:指定的轉換無效。」 在MyClassName.Send(MyMessage myMessage)
建議:我覺得這個錯誤是發生是由於 「typeof運算」但我不知道在這一方面。
1. MyMessage已經序列化。 2.執行過程中不是每次都發生錯誤。 3.無法重現此錯誤。 4. typeof和GetType輸出有什麼不同?我的意思是如果通過GetType替換typeof,那麼它可以嗎? – rhatwar007 2014-09-04 06:08:21