如何解决EasyNetq 没有收到消息 Rabbitmq 没有收到消息 BackgroundWorker 通过回调函数订阅但什么也没有发生
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 上的队列?
解决方法
问题的更多代码
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>();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。