首页新闻找找看学习计划

求教:rabbitmq注册成windows服务,事件无法保持监听,如何解决?

0
悬赏园豆:20 [已解决问题] 解决于 2017-08-26 08:03

控制台程序可以Console.ReadKey()阻塞,windows服务怎么处理呢?

最美的不是下雨天的主页 最美的不是下雨天 | 初学一级 | 园豆:34
提问于:2017-08-25 10:52
< >
分享
最佳答案
1

https://github.com/wrx362114/EasyMQService

安利这个项目.你可以下下来看看.

至于你的问题是变量作用域问题.基础太差.

收获园豆:20
吴瑞祥 | 高人七级 |园豆:28701 | 2017-08-25 11:25

嗯好,我会去看的。至于这个问题,我是将consumer声明成一个静态变量,然后在调用的方法里面去创建,为什么还是没有效果呢?

最美的不是下雨天 | 园豆:34 (初学一级) | 2017-08-25 12:03

@最美的不是下雨天:那就是你程序的问题.你用topshelf吧.

那个项目就是用的toshelf

吴瑞祥 | 园豆:28701 (高人七级) | 2017-08-25 12:28

@吴瑞祥: 我就是用的topshelf安装的,程序用控制台程序跑加个Console。ReadKey()的时候是没问题的。

最美的不是下雨天 | 园豆:34 (初学一级) | 2017-08-25 12:32

@吴瑞祥: 再麻烦问题一下,消费队列一开始用的是while(true),用topshelf安装的时候,程序无法启动,注册成的服务也启动按钮是灰的。我猜是存在有这个死循环才会这样,不知道理解是否正确,也不知道如何解决= =

最美的不是下雨天 | 园豆:34 (初学一级) | 2017-08-25 12:35

@最美的不是下雨天: 你看看我写的代码.

看你的说法.应该是你的代码写错了.

吴瑞祥 | 园豆:28701 (高人七级) | 2017-08-25 17:47

@吴瑞祥: 恩,这个问题没有解决,暂时换了一种实现方式,用BasicGet方法,刚好我这边对数据处理有限制,每分钟不超过600条,写了定时任务,每分钟去触发一次,每次触发取600条数据。之前一直卡在如何触发,如何保持监听上。非常感谢您,这块工作收尾就去研究研究你的代码。

最美的不是下雨天 | 园豆:34 (初学一级) | 2017-08-25 17:57
其他回答(1)
0

只要你的对象不被回收就可以了啊。

Daniel Cai | 园豆:10374 (专家六级) | 2017-08-25 11:26

我是将consumer声明成一个静态变量,然后在调用的方法里面去创建,为什么还是没有效果呢?

支持(0) 反对(0) 最美的不是下雨天 | 园豆:34 (初学一级) | 2017-08-25 12:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册