微软消息队列路径的使用问题

今天在测试微软消息队列,打算把消息发到服务器的,用IP地址来指定。

开发时用本地环回IP127.0.0.1来测试,方便提交后其他同事使用,结果发现坑爹的事情了

            System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue("FormatName:DIRECT=TCP:127.0.0.1\\private$\\test");

发送的消息,堆在“传出队列”里面,状态是等待连接



读取时也发生异常System.Messaging.MessageQueueException
  HResult=-2147467259
  Message=队列不存在,或您没有足够的权限执行该操作。

反复测试后发现,用127.0.0.1是不行的,换成一个本机IP就可以了

 System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue("FormatName:DIRECT=TCP:192.168.2.88\\private$\\test");

以上信息希望可以为大家提供帮助,少走弯路。


现象发送接收代码如下:

发送



            System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(ARPAUploadMessageQueueName);
            var msg = new System.Messaging.Message();
            msg.Body = new myData();
            msg.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] {msg.Body.GetType() });
            msg.Recoverable = true;


接收

            System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue("FormatName:DIRECT=TCP:192.1.0.127\\private$\\arpatest");
            var msg = queue.Receive();
            msg.Formatter = new XmlMessageFormatter();
            Console.WriteLine("读取队列对象."+msg.Body);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值