感谢您使用微软产品。 我们在写 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)。

解决方案 »

  1.   

    to  sailing_ms([微软]启航) :谢谢你,不过我照你的做了,我的计算机是工作组环境下,xp,没能安装活动目录.错误显示如下:
    “/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呢?谢谢!
      

  2.   

    to  sailing_ms([微软]启航) :在台机上能既收和发吗?谢谢!
      

  3.   

    微软专家的程序是对的呀,你的程序中MSQ = MessageQueue.Create("private$\ReservationRequest")应该是MSQ = MessageQueue.Create(".\private$\ReservationRequest").因为private$不是消息队列的根目录,还有MSQM service必须要装。你在调试的时候,可以切换到VS.NET左侧的Server Explorer页,就可以看到你的Message Queues了。:)
      

  4.   

    to  bigliang(我菜,我可以):MSMQ Service是不是只在nt server或2k server上才能安装吗?我是今天才遇见这个问题,以前没遇见,经理明天就要这个接口,没办法
      

  5.   

    to all:行了,我运行了:net start msmq启动了服务,就行了,还有MSQ = MessageQueue.Create("private$\ReservationRequest")应该是MSQ = MessageQueue.Create(".\private$\ReservationRequest").微软工程师是不是不要分的,这一点我不懂,如果这样的话,我只给 bigliang(我菜,我可以) 了,不太楚?