我想在 MSMQ 中发送消息,其中包含例如文本
<order><data id="5" color="blue"/></order>
这是标准的 XML。到目前为止,我已经制作了 Serializable 类
[Serializable]
public class order
string id
string color
我正在使用 BinaryFormatter。当我检查 message.BodyStream 时,有一些不应该存在的字符( 00,01,FF ),然后我无法毫无错误地收到此消息。
这个任务看起来很简单,放文字
<order><data id="5" color="blue"/></order>
进入 msmq。
挖掘整个重要代码:
public static void Send()
{
using (message = new Message())
{
request req = new request("1", "blue");
message.Recoverable = true;
message.Body = req.ToString();
message.Formatter = new BinaryMessageFormatter();
using (msmq = new MessageQueue(@".\Private$\testrfid"))
{
msmq.Formatter = new BinaryMessageFormatter();
msmq.Send(message, MessageQueueTransactionType.None);
}
}
}
[Serializable]
public class request
{
private readonly string _order;
private readonly string _color;
public request(string order, string color)
{
_order = order;
_color = color;
}
public request()
{ }
public string Order
{
get { return _order; }
}
public string Color
{
get { return _color; }
}
public override string ToString()
{
return string.Format(@"<request> <job order = ""{0}"" color = ""{1}"" /> </request>",_order,_color);
}
}