我尝试将序列化数据发送到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