请问如何试用XML通过MessageQueue传递一个结构 我是说select之后,存进一个XmlReader 中。通过Read()可以得到这个XML的内容。把这个内容发送过去。进程2如何把接到的这个XML放到一个XmlReader中? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 消息队列可以保存对象的所以...使用DataSet吧,用不着那么麻烦(-: 发送消息using System;using System.Messaging;public class MQSend{ public static void Main(String[] args) { string appName = Environment.GetCommandLineArgs()[0]; if(args.Length != 2) { Console.WriteLine("Usage: " + appName +" <queue> <message>"); } else { string mqPath = ".\\" + args[0]; if(!MessageQueue.Exists(mqPath)) { MessageQueue.Create(mqPath); } MessageQueue mq = new MessageQueue(mqPath); mq.Send(args[1]); } Console.WriteLine(); Console.WriteLine("Press Enter to continue..."); Console.ReadLine(); }}接收消息using System;using System.Messaging;using System.IO;using System.Runtime.Serialization;public class MQReceive { public static void Main(String[] args) { string appName = Environment.GetCommandLineArgs()[0]; if ( args.Length != 1 ) { Console.WriteLine("Usage: {0} <queue>", appName); } else { string mqPath = ".\\" + args[0]; if ( !MessageQueue.Exists(mqPath) ) { Console.WriteLine("The queue '{0}' does not exist!", mqPath); return; } MessageQueue mq = new MessageQueue(mqPath); ((XmlMessageFormatter)mq.Formatter).TargetTypeNames = new string[]{"System.String,mscorlib"}; try { Message m = mq.Receive(new TimeSpan(0,0,3)); Console.WriteLine("Message: {0}", (string)m.Body); } catch ( MessageQueueException ) { Console.WriteLine("There are no messages in the queue"); return; } catch ( InvalidOperationException ) { Console.WriteLine("The message removed from the queue is not a string"); return; } } Console.WriteLine(); Console.WriteLine("Press Enter to continue..."); Console.ReadLine(); }} 我也觉得不必那么麻烦,dataset载传输的时候,自动会转化成xml格式的。 性能问题 为什么我的B/S系统经常性引发customErrors错误?(.net C#) 一个画图的问题 关于串行可用端口的问题 请教高手:字符串的Replace函数的参数是不是不能为变量啊? 求教是否可以获取运行着的窗体内具体的对象以极其属性和方法呢? 水晶报表:无法找到清单资源中的报告.请创建项目并再次尝试 ! 又现datagrid问题 如何新建只有一个窗体时只有*.cs而没有*.resx和*.designer.cs??? 如何读取doc文件的内容 怎样把Excel文件保存为指定的格式,如95, 如何设计和C#一样的界面?
所以...使用DataSet吧,用不着那么麻烦(-:
using System.Messaging;public class MQSend
{
public static void Main(String[] args)
{
string appName = Environment.GetCommandLineArgs()[0]; if(args.Length != 2) {
Console.WriteLine("Usage: " + appName +" <queue> <message>");
} else {
string mqPath = ".\\" + args[0];
if(!MessageQueue.Exists(mqPath)) {
MessageQueue.Create(mqPath);
} MessageQueue mq = new MessageQueue(mqPath);
mq.Send(args[1]);
} Console.WriteLine();
Console.WriteLine("Press Enter to continue...");
Console.ReadLine();
}
}
接收消息using System;
using System.Messaging;
using System.IO;
using System.Runtime.Serialization;public class MQReceive {
public static void Main(String[] args)
{
string appName = Environment.GetCommandLineArgs()[0]; if ( args.Length != 1 ) {
Console.WriteLine("Usage: {0} <queue>", appName);
} else {
string mqPath = ".\\" + args[0]; if ( !MessageQueue.Exists(mqPath) ) {
Console.WriteLine("The queue '{0}' does not exist!", mqPath);
return;
} MessageQueue mq = new MessageQueue(mqPath);
((XmlMessageFormatter)mq.Formatter).TargetTypeNames = new string[]{"System.String,mscorlib"}; try {
Message m = mq.Receive(new TimeSpan(0,0,3));
Console.WriteLine("Message: {0}", (string)m.Body);
}
catch ( MessageQueueException ) {
Console.WriteLine("There are no messages in the queue");
return;
}
catch ( InvalidOperationException ) {
Console.WriteLine("The message removed from the queue is not a string");
return;
}
} Console.WriteLine();
Console.WriteLine("Press Enter to continue...");
Console.ReadLine();
}
}