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 @   near_zk  阅读(2769)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示