代码:

using (var conn = RabbitmqHelper.GetConnection())
{
using (var channel = conn.CreateModel())
{
//这两个事件如果是using写法要写到创建交换器和队列并且进行绑定之前,否则不会触发
channel.BasicNacks += (sender, e) =>
{
//生产者发送消息到broker(服务器)后失败被生产者的listener监听到,就走无应答方法
Console.WriteLine(" --no ack-- ");
}; channel.BasicAcks += (sender, e) =>
{
//有应答
Console.WriteLine(" --ack-- ");
}; channel.ExchangeDeclare("log_topic", ExchangeType.Topic);
var msg = $"send {(args.Length == 0 ? "default" : args[0] ?? "default")} topic message";
var body = Encoding.UTF8.GetBytes(msg);
channel.ConfirmSelect();//不管是串行还是并行,都要加入声明确认这句话
channel.BasicPublish("log_topic", (args.Length < ? "#" : args[] ?? "#"), null, body);
Console.WriteLine(" [x] Sent {0}", msg);
//串行的写法
//if (channel.WaitForConfirms())
//{
// Console.WriteLine("[x] Sent success");
//}
//else
//{
// Console.WriteLine("[x] Sent faild");
//}
Console.WriteLine(" Press [enter] to exit.");
Console.ReadLine();
}
}

更多应答出现的问题:

https://blog.csdn.net/youbl/article/details/80425959

最新文章

  1. UVa11549计算器谜题[floyd判圈]
  2. 【转】Android 当打开“开发者模式”中的“不保留活动”后,程序应当怎么保持正常运行
  3. Apache+PHP+Mysql 集成环境 几个软件pk
  4. 配置DruidDataSource参考(com.alibaba.druid.pool.DruidDataSource)
  5. python auto send email
  6. linux之SQL语句简明教程---AND OR
  7. POJ 2305 Basic remains(进制转换)
  8. delphi 字符串查找替换函数 转
  9. Android界面(1) 使用TextView实现跑马灯效果
  10. 使用镜像仓库托管自己构建的Docker镜像
  11. Loadrunner11不能调用IE8解决方法大全
  12. 数据结构与算法 —— 链表linked list(04)
  13. python之pickle模块
  14. 一个 Vue &amp; Node 的全栈小项目
  15. tensorflow (七) k-means
  16. python-day79--知识回顾
  17. 2.初步认识Angular2
  18. 2017-2018 Exp5 MSF基础应用 20155214
  19. 最近玩Bootstrap , 一些小工具 记录在案。
  20. mysql 允许远程登录

热门文章

  1. Lambda拉姆达表达式
  2. vue构造器注册UI组件
  3. mybatis插件机制及分页插件原理
  4. golang的数据类型之整型类型
  5. 方法重载(overload)与方法重写(override)
  6. dfs(最长路径)
  7. python——datetime模块
  8. myeclipse 文件注释部分乱码问题
  9. CSS中quotes属性以及content的open(close)-quotes属性
  10. jquery+html实现前端的上传图片预览