<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      RabbitMQ 消費者

      原文連接:http://www.rzrgm.cn/ysmc/p/16225142.html

      項目需要引用 RabbitMQ.Client Nuget包

      創建異步工廠

      IAsyncConnectionFactory connectionFactory = new ConnectionFactory
      {
          HostName = _rabbitMqOptions.HostName,
          Port = _rabbitMqOptions.Port,
          UserName = _rabbitMqOptions.UserName,
          Password = _rabbitMqOptions.Password,
          VirtualHost = _rabbitMqOptions.VirtualHost,
          DispatchConsumersAsync = true
      };

      訂閱

      //創建連接
      var connection = connectionFactory.CreateConnection();
      //創建通道
      var channel = connection.CreateModel();
      channel.BasicQos(prefetchSize, prefetchCount, false);
      //事件基本消費者
      var consumer = new AsyncEventingBasicConsumer(channel);
      //接收到消息事件
      consumer.Received += async (ch, ea) =>
      {
          try
          {
              var message = Encoding.UTF8.GetString(ea.Body.ToArray());
              var requeue = await executeAsync(message);
              if (requeue)
              {
                  //確認該消息已被消費
                  channel.BasicAck(ea.DeliveryTag, false);
              }
              else
              {
                  channel.BasicNack(ea.DeliveryTag, false, true);
              }
          }
          catch (Exception)
          {
              channel.BasicAck(ea.DeliveryTag, false);
          }
      };
      //啟動消費者 設置為手動應答消息
      channel.BasicConsume(queueName, false, consumer);

      單次或輪詢

      private async Task SingleOrPolling(Func<string, Task<bool>> executeAsync, bool isSingle, string? queueName = null)
      {
          var connectionFactory = _rabbitMQBaseService.GetAsyncConnectionFactory();
          using var connection = connectionFactory.CreateConnection();
          using var channel = connection.CreateModel();
          queueName = GetQueueName(queueName);
          while (true)
          {
              var response = channel.BasicGet(queueName, false);
              try
              {
                  if (null != response)
                  {
                      var message = Encoding.UTF8.GetString(response.Body.ToArray());
                      var requeue = await executeAsync(message);
                      if (requeue)
                      {
                          //確認該消息已被消費
                          channel.BasicAck(response.DeliveryTag, false);
                      }
                      else
                      {
                          channel.BasicNack(response.DeliveryTag, false, true);
                      }
                  }
              }
              catch (Exception)
              {
                  channel.BasicAck(response.DeliveryTag, false);
              }
              if (isSingle)
              {
                  break;
              }
          }
      }

       

      posted @ 2022-05-05 16:13  一事冇誠  閱讀(1991)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品国精品久久99热| 国产精品国三级国产av| 国产福利在线观看免费第一福利| 国内少妇偷人精品免费| 免费无码成人AV片在线 | 亚洲高潮喷水无码AV电影| 色狠狠色噜噜AV一区| 国产无遮挡性视频免费看| 久久天天躁综合夜夜黑人鲁色 | 在线观看视频一区二区三区| 国内揄拍国内精品人妻| 日韩精品一区二区三区激情| 少妇被粗大的猛烈进出69影院一| 极品人妻少妇一区二区三区| 制服丝袜中文字幕在线| 日韩国产精品一区二区av| 日韩精品中文字幕有码| 国产精品中文字幕一区| 国产成人精品亚洲午夜| 久久精品无码鲁网中文电影| 亚洲人成电影网站 久久影视| 又大又紧又粉嫩18p少妇| 天天做天天爱夜夜夜爽毛片| 图木舒克市| 亚洲色成人一区二区三区 | 国产精品熟妇视频国产偷人| 富川| 亚洲精品国产中文字幕| 中文字幕乱码一区二区免费| 亚洲欧美偷国产日韩| 国产精品永久久久久久久久久| 精品视频福利| 国产亚洲精品久久久久久无亚洲 | 国内不卡不区二区三区| 国产稚嫩高中生呻吟激情在线视频| 精品亚洲欧美无人区乱码| 日本中文一二区有码在线 | 欧美videosdesexo吹潮| 衣服被扒开强摸双乳18禁网站| 国产精品亚洲综合网一区| 在线播放亚洲成人av|