怎样使用不同格式发送消息队列
我想读取一个XML文件 然后通过不同的编码格式发送消息队列 但是队列发送过去都一样 而且最后面还会乱码、
private void button1_Click(object sender, EventArgs e)
{
try
{
//初始化一个OpenFileDialog类
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Multiselect = true;
//判断用户是否正确的选择了文件
if (fileDialog.ShowDialog() == DialogResult.OK)
{
foreach (string file in fileDialog.FileNames)
{
msg = new System.Messaging.Message();
msg.Priority = MessagePriority.Normal;//普通消息的优先级
if (!MessageQueue.Exists(Convert.ToString(textBox1.Text)))
{
mq = MessageQueue.Create(Convert.ToString(textBox1.Text));
} //如果不存在则创建它
else
{
mq = new MessageQueue(Convert.ToString(textBox1.Text));
}
document = new XmlDocument();
document.Load(file);
msg.Body = documen.InnerXmlt;
textBox2.Text = textBox2.Text + document.ToString() + " XML :" + document.InnerXml;
if(radioButton1.Checked == true)
{
mq.Formatter = new XmlMessageFormatter(new string[] { "System.Text.Encoding.UTF8" });
}
else if(radioButton2.Checked == true)
{
mq.Formatter = new XmlMessageFormatter(new string[] { " System.Text.Encoding.Unicode" });
}
else
{
mq.Formatter = new XmlMessageFormatter(new string[] { "System.String" });
}
mq.Send(msg);
}
}
} catch(System.Messaging.MessageQueueException ex)
{
textBox2.Text = textBox2 + "<br/>出现错误:" + ex.Message;
}