WCF分布式开发常见错误(19):There was an error opening the queue打开消息队列出错

简介:
    在调试托管宿主 WCF MSMQ消息队列代码的时候出现错误:
    There was an error opening the queue. Ensure that MSMQ is installed and running, the queue exists and has proper authorization to be read from. The inner exception may contain additional information.
    打开队列有一个错误,确保MSMQ已经安装或者运行,队列存在和有读权限。异常内部也许包含额外的信息。
解决办法:
 NetMsmqBinding queBinding  =   new  NetMsmqBinding(NetMsmqSecurityMode.None);
                queBinding.ExactlyOnce 
=   false ;
                queBinding.Security.Message.ClientCredentialType 
=  MessageCredentialType.UserName;

                
//  添加服务终结点

                host.AddServiceEndpoint(
typeof (WCFService.IWCFMSMQService), queBinding, queBaseAddress);

 

                
// 判断是否以及打开连接,如果尚未打开,就打开侦听端口
                 if  (host.State  != CommunicationState.Opening)
                host.Open();
   注意:
1. NetMsmqBinding queBinding = new NetMsmqBinding(NetMsmqSecurityMode.None);消息无安全模式;
2. queBinding.ExactlyOnce = false;绑定消息只能读取一次的属性设置为false;
3.使用 host.AddServiceEndpoint(typeof(WCFService.IWCFMSMQService), queBinding, queBaseAddress);
添加终结点。
  注意配置文件里的设置注销掉,只使用代码来设置,最后启动宿主即可。
    参考文章:
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/7ceeb231-2ff4-4431-9d61-dc071b916788
老外也遇到这个问题,讨论的也比较多,但是我修改了安全模式才解决掉。


 本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/320441,如需转载请自行联系原作者

相关文章
|
23天前
|
NoSQL Java Redis
开发实战:使用Redisson实现分布式延时消息,订单30分钟关闭的另外一种实现!
本文详细介绍了 Redisson 延迟队列(DelayedQueue)的实现原理,包括基本使用、内部数据结构、基本流程、发送和获取延时消息以及初始化延时队列等内容。文章通过代码示例和流程图,逐步解析了延迟消息的发送、接收及处理机制,帮助读者深入了解 Redisson 延迟队列的工作原理。
|
1月前
|
消息中间件 存储 监控
消息队列系统中的确认机制在分布式系统中如何实现
消息队列系统中的确认机制在分布式系统中如何实现
|
1月前
|
消息中间件 存储 监控
【10月更文挑战第2天】消息队列系统中的确认机制在分布式系统中如何实现
【10月更文挑战第2天】消息队列系统中的确认机制在分布式系统中如何实现
|
21天前
|
消息中间件 存储 监控
消息队列系统中的确认机制在分布式系统中如何实现?
消息队列系统中的确认机制在分布式系统中如何实现?
|
3月前
|
消息中间件 存储 监控
消息队列系统中的确认机制在分布式系统中如何实现?
消息队列系统中的确认机制在分布式系统中如何实现?
|
3月前
|
消息中间件 存储 Java
分布式消息队列基础知识
本文概述了分布式消息队列的基本概念、组成、模式、基础与高级功能,以及它在业务开发中的应用和核心技术,为深入学习RocketMQ等消息队列组件提供基础知识。
分布式消息队列基础知识
|
3月前
|
开发者 云计算 数据库
从桌面跃升至云端的华丽转身:深入解析如何运用WinForms与Azure的强大组合,解锁传统应用向现代化分布式系统演变的秘密,实现性能与安全性的双重飞跃——你不可不知的开发新模式
【8月更文挑战第31天】在数字化转型浪潮中,传统桌面应用面临新挑战。本文探讨如何融合Windows Forms(WinForms)与Microsoft Azure,助力应用向云端转型。通过Azure的虚拟机、容器及无服务器计算,可轻松解决性能瓶颈,满足全球用户需求。文中还提供了连接Azure数据库的示例代码,并介绍了集成Azure Storage和Functions的方法。尽管存在安全性、网络延迟及成本等问题,但合理设计架构可有效应对,帮助开发者构建高效可靠的现代应用。
31 0
|
3月前
|
消息中间件 存储 监控
消息队列在分布式系统中如何保证数据的一致性和顺序?
消息队列在分布式系统中如何保证数据的一致性和顺序?
|
4月前
|
消息中间件 缓存 架构师
对抗软件复杂度问题之降低代码的复杂度,如何解决
对抗软件复杂度问题之降低代码的复杂度,如何解决
|
5月前
|
消息中间件 监控 Java
Java一分钟之-Kafka:分布式消息队列
【6月更文挑战第11天】Apache Kafka是一款高性能的消息队列,适用于大数据处理和实时流处理,以发布/订阅模型和分布式设计处理大规模数据流。本文介绍了Kafka基础,包括生产者、消费者、主题和代理,以及常见问题:分区选择、偏移量管理和监控不足。通过Java代码示例展示了如何创建生产者和消费者。理解并妥善处理这些问题,结合有效的监控和配置优化,是充分发挥Kafka潜力的关键。
88 0