首页 新闻 会员 周边

rabbitmq 真的不可以把web端当做消费者或者生产者吗

0
[已解决问题] 解决于 2019-08-25 09:41

如题,我在官网的代码看到的都是使用控制台作为消费者输出信息,但是rabbitmq的管理界面是有消息的,调用web也会清空消息,但是同样的代码在web端没有输出消息
这是我的代码:
var factory = new ConnectionFactory()
{
UserName = "admin",
Password = "admin",
Port = 5672,
HostName = "192.168.150.129",
RequestedHeartbeat = 0,
VirtualHost = "/vhost_mmr"
};
using (var connection = factory.CreateConnection())
{
using (var channel =connection.CreateModel())
{
//channel.QueueDeclare(queue: "hello",
// durable: false,
// exclusive: false,
// autoDelete: false,
// arguments: null);

                var consumer = new EventingBasicConsumer(channel);
                 consumer.Received +=  (model, ea) =>
                {
                    var body = ea.Body;
                    var ret1  = Encoding.UTF8.GetString(body);
                    ViewBag.msg = ret1;
                    System.Diagnostics.Debug.Write("测试:" + ret1);
                };

                var ret = channel.BasicConsume(queue: "hello",
                                     autoAck: true,
                                     consumer: consumer);
            }
        }

如果不能使用web当做消费者或者生产者的话,正常的生产环境是用什么作为消费者和生产者呢,是写windows服务吗。

洛晨随风的主页 洛晨随风 | 初学一级 | 园豆:71
提问于:2019-08-19 20:22
< >
分享
最佳答案
0

web服务可以做生产者.
消费者要用稳定的服务.

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2019-08-19 22:17

web服务指的是webapi吗?我用的webapi结果好像生产者是控制台的时候也不能收到数据,只有服务和客户端都是控制台才可以。。

洛晨随风 | 园豆:71 (初学一级) | 2019-08-19 22:41

@洛晨随风: 就是web站点.
消费者和生产者和宿主没关系.
我们一般说不要用web服务跑消费者是因为web服务不稳定.
你消息收发都没跑通.和宿主是没关系的.是代码问题.
这个东西你要分开测试的.先测试生产.再测试消费.

吴瑞祥 | 园豆:29449 (高人七级) | 2019-08-20 21:59

@吴瑞祥: 那在一般生产环境的话生产者都用什么作为宿主啊,windows server吗

洛晨随风 | 园豆:71 (初学一级) | 2019-08-20 22:24

@洛晨随风: 生产者无所谓的.
因为他只要能单次发送就行了.所以直接在web服务里直接在业务代码里直接发.

吴瑞祥 | 园豆:29449 (高人七级) | 2019-08-20 22:38

@吴瑞祥: https://stackoverflow.com/questions/57556931/how-do-i-use-the-rabbitmq-in-my-net-core-web 这里是我的代码。你看我的这个有什么问题吗,我就是用的这样的代码,结果才发现只有生产者和消费者都是控制台的时候才行,但是换成WEBAPI +控制台或者WEBAPI +mvc web就不行了

洛晨随风 | 园豆:71 (初学一级) | 2019-08-21 10:38

而且我看JAVA的教学视频也是控制台系统,官网也是。。新手还请见谅

洛晨随风 | 园豆:71 (初学一级) | 2019-08-21 10:40

@洛晨随风: 你用easyq试试吧.
对了.我以前做过一个项目
https://github.com/wrx362114/EasyMQService
你可以看看.

吴瑞祥 | 园豆:29449 (高人七级) | 2019-08-21 13:26

@吴瑞祥: 好的谢谢,不过我好像发现了我这个问题似乎和链接的开关有关系吧,
https://q.cnblogs.com/q/117594/
这是我发现的一个现象,不知道您是否遇见过

洛晨随风 | 园豆:71 (初学一级) | 2019-08-23 11:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册