MSMQ消息队列出现的问题

我使用代码System.Messaging.MessageQueue.Create("MyQueue");创建消息队列。

总是产生异常提示:"工作组安装计算机不支持该操作。

      //Create a public Queue

            //if (!MessageQueue.Exists(@".\FrankMSMQ"))

            //{

            //    using (MessageQueue mq = MessageQueue.Create(@".\FrankMSMQ"))

            //    {

            //        mq.Label = "FrankPublicQueue";

            //        Console.WriteLine("FrankPublicQueue is Created:");

            //        Console.WriteLine("Path is {0}:", mq.Path);

            //        Console.WriteLine("FrankPublicQueue' name is {0}:", mq.QueueName);

            //        //Console.Read();

            //        mq.Send("MSMQ Message", "Frank.Xu");

            //    }

            //} 

 摘自一论坛:

【erdgzw】:
我改为System.Messaging.MessageQueue.Create(".\\MyQueue");也不行。

【jiatong1981】:
System.Messaging.MessageQueue myMQ2 = 
new System.Messaging.MessageQueue(@".\MyNewQueue");

看情况系统问题 呵呵

【sceislqzw】:
你在创建公有队列,而你的机器不属于任何域。一般工作组安装的计算机只能创建私有队列。
 System.Messaging.MessageQueue QueueReceive = new System.Messaging.MessageQueue(@".\Private$\MSMQDemo");
这样应该不会出错。

【erdgzw】:
创建专用队列当然可以。难到创建公有队列必须要在域上啊?

【flyaqiao】:
if (MessageQueue.Exists(path))
                m_Msq = new MessageQueue(path);
            else
            {
                m_Msq = MessageQueue.Create(path);
                m_Msq.MaximumQueueSize = CommonSettings.QueueMaxSize;
            }
            m_Msq.SetPermissions("Everyone", System.Messaging.MessageQueueAccessRights.FullControl);
 

posted @ 2010-10-12 18:39  near_zk  阅读(2758)  评论(0编辑  收藏  举报