感谢您使用微软产品。 我们在写 MSMQ 代码是需要注意以下三点:1. 必须先按装 MSQM Service2. 要引用 System.Messaging.dll 3. 使用以下两个命名空间:using System.Messaging;
using System.IO;
例程片段如下:private void Button1_Click(object sender, System.EventArgs e) { MessageQueue MSQ; if (MessageQueue.Exists(".\\Private$\\MyTest")) { MSQ=new MessageQueue(".\\Private$\\MyTest"); } else { MSQ=MessageQueue.Create(".\\Private$\\MyTest"); } BinaryWriter bw=new BinaryWriter(new MemoryStream()); bw.Write(TextBox1.Text); Message msg=new Message(); msg.BodyStream=bw.BaseStream; msg.Label="Test Message"; MSQ.Send(msg); Label1.Text="Message Sent"; } private void Button2_Click(object sender, System.EventArgs e) { MessageQueue MSQ; Message msg=new Message(); BinaryReader br; string rmsg; if (MessageQueue.Exists(".\\Private$\\MyTest")) { MSQ=new MessageQueue(".\\Private$\\MyTest"); } else { MSQ=MessageQueue.Create(".\\Private$\\MyTest"); } try { msg=MSQ.Receive(new TimeSpan(0,0,3)); br=new BinaryReader(msg.BodyStream); rmsg=new string(br.ReadChars(Convert.ToInt32(msg.BodyStream.Length))); } catch { rmsg="No Message yet"; } Label1.Text=rmsg; }更具体的说明和源码请参考下面这些资料: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemMessaging.asphttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemMessagingMessageQueueClassTopic.asp?frame=truehttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemMessagingMessageClassTopic.asp?frame=true- 微软全球技术中心 技术支持 本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
using System.IO;
例程片段如下:private void Button1_Click(object sender, System.EventArgs e) { MessageQueue MSQ; if (MessageQueue.Exists(".\\Private$\\MyTest")) { MSQ=new MessageQueue(".\\Private$\\MyTest"); } else { MSQ=MessageQueue.Create(".\\Private$\\MyTest"); } BinaryWriter bw=new BinaryWriter(new MemoryStream()); bw.Write(TextBox1.Text); Message msg=new Message(); msg.BodyStream=bw.BaseStream; msg.Label="Test Message"; MSQ.Send(msg); Label1.Text="Message Sent"; } private void Button2_Click(object sender, System.EventArgs e) { MessageQueue MSQ; Message msg=new Message(); BinaryReader br; string rmsg; if (MessageQueue.Exists(".\\Private$\\MyTest")) { MSQ=new MessageQueue(".\\Private$\\MyTest"); } else { MSQ=MessageQueue.Create(".\\Private$\\MyTest"); } try { msg=MSQ.Receive(new TimeSpan(0,0,3)); br=new BinaryReader(msg.BodyStream); rmsg=new string(br.ReadChars(Convert.ToInt32(msg.BodyStream.Length))); } catch { rmsg="No Message yet"; } Label1.Text=rmsg; }更具体的说明和源码请参考下面这些资料: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemMessaging.asphttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemMessagingMessageQueueClassTopic.asp?frame=truehttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemMessagingMessageClassTopic.asp?frame=true- 微软全球技术中心 技术支持 本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
“/MSMQ_sent”应用程序中的服务器错误。“/MSMQ_sent”应用程序中的服务器错误。
--------------------------------------------------------------------------------工作组安装计算机不支持该操作。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Messaging.MessageQueueException: 工作组安装计算机不支持该操作。源错误:
行 40: MSQ = New MessageQueue("private$\ReservationRequest")
行 41: Else
行 42: MSQ = MessageQueue.Create("private$\ReservationRequest")
行 43: End If
行 44: Dim bw As BinaryWriter = New BinaryWriter(New MemoryStream())
请问我该怎样调试?服务器在房管局IDC中心,我没办法,是不是要建一单独的domain呢?谢谢!