【问题标题】:Exception in Consuming message with EasyNetQ使用 EasyNetQ 消费消息时出现异常
【发布时间】:2020-01-14 05:51:13
【问题描述】:

我正在使用 easyNetQ 从队列发布和接收消息,但是..

从队列中获取消息时出现异常。

The server reported 0 messages 
Exchange    ErrorExchange_
type:   EasyNetQ.SystemMessages.Error, EasyNetQ

"路由键":"", "Exchange":"SSO.Login", "队列":"SSO.Login_SSOQueue.LoginQueue", "Exception":"System.IO.FileNotFoundException: 无法加载文件或程序集 'OAuth.Admin.Infrastructures.RabbitMQEventBus, Culture=neutral, PublicKeyToken=null'。系统找不到指定的文件。\r\n文件名: ' OAuth.Admin.Infrastructures.RabbitMQEventBus, Culture=neutral, PublicKeyToken=null'\r\n at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, RuntimeAssembly locationHint, StackCrawlMark & stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, IntPtr ptrLoadContextBinder) \r\n 在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, IntPtr ptrLoadContextBinder)\r\n 在 System.Reflection.Assembly.Load(AssemblyName assemblyRef)\r\n n 在 EasyNetQ.DefaultTypeNameSerializer.GetTypeFromTypeNameKey(TypeNameKey typeNameKey)\r\n 在 EasyNetQ.DefaultTypeNameSerializer.c.b__3_0(String t)\r\n 在 S ystem.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory)\r\n 在 EasyNetQ.DefaultMessageSerializationStrategy.DeserializeMessage(MessageProperties properties, Byte[] body)\r\n 在 EasyNetQ.RabbitAdvancedBus.c__DisplayClass17_0.b__0(Byte[]正文,MessageProperties 属性,MessageReceivedInfo messageReceivedInfo)\r\n 在 EasyNetQ.RabbitAdvancedBus.c__DisplayClass21_0.b__0(Byte[] 正文,MessageProperties 属性,MessageReceivedInfo receivedInfo)\r\n 在 EasyNetQ.Consumer.HandlerRunner.InvokeUserMessageHandlerInternalAsync(ConsumerExecutionContext context) \r\n\r\n", "Message":"{\"PhoneNumber\":\"09---------\",\"ApplicationName\":\"somthing\",\"CampaignId\":2}", "日期时间":"2020-01-14T05:37:19.9778013Z",

这个程序集在我的 publisher 中,它是单独的应用程序

"Exception":"System.IO.FileNotFoundException: Could not load file or assembly 'OAuth.Admin.Infrastructures.RabbitMQEventBus, Culture=neutral, PublicKeyToken=null'.

【问题讨论】:

    标签: asp.net-core rabbitmq messaging


    【解决方案1】:

    问题是我的消费者无法反序列化消息 我在我的消费者中使用此代码,我的问题已解决

    protected override Task ExecuteAsync(CancellationToken stoppingToken)
        {
            stoppingToken.ThrowIfCancellationRequested();
    
            var consumer = new EventingBasicConsumer(_channel);
    
            consumer.Received += HandleMessageAsync; ;
    
            _channel.BasicConsume("BlaBlaBlaQueue", false, consumer);
            return Task.CompletedTask;
        }
    
        private async void HandleMessageAsync(object sender, BasicDeliverEventArgs e)
        {
            var content = System.Text.Encoding.UTF8.GetString(e.Body);
            ConfirmRequest confirmRequest  = JsonConvert.DeserializeObject<ConfirmRequest>(content);
    
            var result =await sendConfirmBlaBlaBlaResuest.ConfirmBlaBlaBlaAsync(new BlaBlaBlaDto {});
            var responce = new ConfirmBlaBlaBlaResponceEvent(confirmRequest);
    
            if (result.IsFailure)
            {
                responce.Message = result.Error;
                responce.IsSuccess = false;
            }
            else
            {
                responce.IsSuccess = true;
            }
    
            await bus.PublishBlaBlaBlaResponceEventAsync(responce);
            _channel.BasicAck(e.DeliveryTag, false);
        }
    

    我的制片人是

    public async Task PublishBlaBlaBlaEventAsync(BlaBlaBlaEvent myEvent)
        {
            var exchange = _bus.ExchangeDeclare(rabbitOptions.BlaBlaBlaExchangeName, ExchangeType.Topic);
            var queue = _bus.QueueDeclare(rabbitOptions.BlaBlaBlaQueueName);
            _bus.Bind(exchange, queue, "#");
            var message = new Message<BlaBlaBlaEvent>(myEvent);
            await _bus.PublishAsync(exchange, queue.Name, false, message);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多