EasyNetq 没有收到消息。 Rabbitmq 没有收到消息。 BackgroundWorker 通过回调函数订阅。但什么也没有发生

时间:2021-04-10 17:48:26

标签: easynetq

Rabbitmq 没有收到消息。 BackgroundWorker 通过回调函数订阅。但什么也没发生。

   public class RabbitMqService : IRabbitMqService
    {
   
        private readonly IBus _bus;
        private readonly ILogger<RabbitMqService> _logger;
        public RabbitMqService(ILogger<RabbitMqService> logger, IBus bus)
        {
            this._logger = logger;
            _bus = bus;
          
        }


        public void Push(PdfMsg msg)
        {
            _bus.PubSub.PublishAsync(msg).ContinueWith(task =>
            {
                if (task.IsCompleted && !task.IsFaulted)
                {
                    _logger.LogInformation("task Compled");
                }
                else if(task.IsFaulted)
                {
                    _logger.LogInformation("Not send"+ msg.Data.Description);
                }


            });

        }


        public async Task<ISubscriptionResult> Receive(Func<PdfMsg, Task> action)
        {
            _ = _bus.SendReceive.ReceiveAsync("intel", action);
            return await _bus.PubSub.SubscribeAsync("intel",  action);
            
        }
    
    }
<块引用>

为什么在有消息时没有调用该函数 RabbitMQ 上的队列?

1 个答案:

答案 0 :(得分:0)

问题的更多代码

TypeError: 'NoneType' object is not subscriptable
 public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSyncfusionBlazor();
            services.AddSingleton(typeof(ISyncfusionStringLocalizer), typeof(SyncfusionLocalizer));
            services.Configure<RequestLocalizationOptions>(options =>
            {
                
            services.AddRazorPages();
            services.AddServerSideBlazor();
            services.AddSingleton<WeatherForecastService>();
            services.AddSingleton<IRabbitMqService, RabbitMqService>();
            services.RegisterEasyNetQ("host=192.168.0.10;port=49157;virtualHost=intel;username=admin;password=admin;requestedHeartbeat=10");
            services.AddHostedService<Worker>();
        }
相关问题