一千萬個為什麽

搜索

找不到適合自定義類對象的格式化程序

我正在使用C#將消息寫入消息隊列,如下所示:

ObjectMsg objMsg = new ObjMsg(1,"ascii",20090807);
Message m = new Message();
m.Formatter = new BinaryMessageFormatter();
m.body = objMsg;
queue.Send(m);

我正在嘗試閱讀如下消息:

Message m = new Message()
m.Formatter = new BinaryMessageFormatter();
MessageQueue mq = new MessageQueue("./pqueue");

m = mq.Recieve();
ObjMsg msg = (ObjMsg )m.Body;

但是我收到一條錯誤消息,上面寫著:“找不到能夠讀取此消息的格式化程序。”

最佳答案

嘗試閱讀消息的正文流,如下所示:

Message m = new Message()
m.Formatter = new BinaryMessageFormatter();
MessageQueue mq = new MessageQueue("./pqueue");

m = mq.Recieve();
StreamReader sr = new StreamReader(m.BodyStream);
string messageBody = "";
while (sr.Peek() >= 0) 
{
    messageBody += sr.ReadLine();
}

轉載註明原文: 找不到適合自定義類對象的格式化程序