江西永新打人事件,阿凡龙官网,hb彼女
RabbitMQ原理及教程:
EasyNetQ是什么以及常见用法这里都不做讲解。可以参考这篇博文:
这里主要来谈谈EasyNetQ中WithTopic方法中的一个容易浪费大量时间的点。
使用EasyNetQ的Subscribe方法后,再使用SubscribeWithTopic方法,你可能会发现无论Routing Key(SubscribeWithTopic中的第三个参数)写什么东西都没用,不管你的Routing key和发送者的Routing Key一样或者不一样,接收者统统都能收得到,即WithTopic的过滤功能失效了。这是为什么呢?
这时候,只要你打开RabbitMQ的web管理后台的队列面板,
(http://localhost:15672/#/queues ,开不了的去rabbitmq-server的安装目录的sbin下右键打开命令行,运行
.\rabbitmq-plugins.bat enable rabbitmq_management
来启动web管理后台。)
点开新创建出来的队列,点开bindings下拉菜单,如果你看到Routing key这一栏的第一项是“#”,意味着之后添加的所有Routing key都失效了。#代表接受所有。每次运行Subscribe都会自动加上“#”过滤规则并且置顶。
解决方案有:
1、手动删除。"#"那一项点击unbind按钮即可。之后如果使用了Subscribe后还想改成SubscribeWithTopic就必须再手动删一次
2、利用代码删除。
var bus = RabbitHutch.CreateBus(connectionString);
IAdvancedBus advancedBus = bus.Advanced; IBinding bind = advancedBus.Bind(new Exchange("Model.Message:Model(交换机名)"), new Queue("Model.Message:Model_id1(队列名)",false), "#" ); advancedBus.BindingDelete(bind);
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论