//刚刚接触,如有不对还望不吝指正
public static void StartUp()
{
#region 前期准备工作 ConnectionFactory factory = new ConnectionFactory();
factory.Uri = "amqp://guest:guest@localhost:5672/";
//架起物理链路
IConnection conn = factory.CreateConnection();
//创建通信信道
IModel channel = conn.CreateModel(); string exchangename = "我是负责转发信号的路由1";
string queuename = "我是信号的接收器1";
//架设信号路由
channel.ExchangeDeclare(exchangename, ExchangeType.Direct);
//架设信号接收器
channel.QueueDeclare(queuename, false, false, false, null);
//连通信号路由器和接收器
channel.QueueBind(queuename, exchangename, "", null); #endregion byte[] messageBodyBytes = System.Text.Encoding.UTF8.GetBytes("Hello, world!");
//channel.BasicPublish(exchangename,"",null,messageBodyBytes);
IBasicProperties props = channel.CreateBasicProperties();
props.ContentType = "text/plain";
props.DeliveryMode = 2;
channel.BasicPublish(exchangename,"",props,messageBodyBytes); ConnectionFactory service = new ConnectionFactory(); using (conn = service.CreateConnection())
{
using (IModel servicechannle = conn.CreateModel())
{
//ch.QueueDeclare(queuename, false, false, false, null);
//服务端接收消息队列
bool noAck = false;
BasicGetResult result = servicechannle.BasicGet(queuename, noAck);
if (result == null)
{
Console.WriteLine("没有消息");
}
else
{
servicechannle.BasicAck(result.DeliveryTag, false);
Console.WriteLine("接收消息成功:" + result.BasicProperties.ContentType);
Console.WriteLine("接收消息成功:" + result.BasicProperties.DeliveryMode);
Console.WriteLine("接收消息成功:" + System.Text.Encoding.Default.GetString(result.Body));
}
}
} conn.AutoClose = true;
}

  

RabbitMQ C# 例子 -摘自网络的更多相关文章

  1. RabbitMQ 入门 Helloworld -摘自网络

    本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考. “Hello world” of RabbitMQ 1.Windows下RabbitMQ的安装 下载Erlang ...

  2. 安装 RabbitMQ C#使用-摘自网络(包括RabbitMQ的配置)

    1.什么是RabbitMQ.详见 http://www.rabbitmq.com/ . 作用就是提高系统的并发性,将一些不需要及时响应客户端且占用较多资源的操作,放入队列,再由另外一个线程,去异步处理 ...

  3. C# 中的内存管理,摘自网络

    C#编程的一个优点是程序员不需要关心具体的内存管理,尤其是垃圾收集器会处理所有的内存清理工作.虽然不必手工管理内存,但如果要编写高质量的代码,还是要理解后台发生的事情,理解C#的内存管理.本文主要介绍 ...

  4. Android:控件WebView显示网页 -摘自网络

    WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用. webview有两个方法:setWebChromeClient 和 setWebClient setWebClient:主要 ...

  5. Ubuntu的常用快捷键(摘自网络)

    篇一 : Ubuntu的复制粘贴操作及常用快捷键(摘自网络) Ubuntu的复制粘贴操作 1.最为简单,最为常用的应该是鼠标右键操作了,可以选中文件,字符等,右键鼠标,复制,到目的地右键鼠标,粘贴就结 ...

  6. RabbitMQ (五)主题(Topic) -摘自网络

    虽然使用direct类型改良了我们的系统,但是仍然存在一些局限性:它不能够基于多重条件进行路由选择. 在我们的日志系统中,我们有可能希望不仅根据日志的级别而且想根据日志的来源进行订阅.这个概念类似un ...

  7. RabbitMQ (三) 发布/订阅 -摘自网络

    这篇博客中,我们会做一些改变,就是把一个消息发给多个消费者,这种模式称之为发布/订阅(类似观察者模式). 为了验证这种模式,我们准备构建一个简单的日志系统.这个系统包含两类程序,一类程序发动日志,另一 ...

  8. RabbitMQ (二)工作队列 -摘自网络

    这篇中我们将会创建一个工作队列用来在工作者(consumer)间分发耗时任务.工作队列的主要任务是:避免立刻执行资源密集型任务,然后必须等待其完成.相反地,我们进行任务调度:我们把任务封装为消息发送给 ...

  9. RabbitMQ三种Exchange模式(fanout,direct,topic)的特性 -摘自网络

    RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储 RabbitMQ提供了四种Exchange:fanout,direct, ...

随机推荐

  1. C# 调用命令行,参数有空格

    在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,命令行执行把后边截掉了,导致程序出错,会弹出了 ...

  2. struct dev_t

    device number(dev_t) linux driver 2009-08-21 10:08:03 阅读26 评论0 字号:大中小 dev_t description:     the dev ...

  3. WCf的理解

    从 .NET 3.5 开始 WCF 已经支持用 WebHttpBinding 构建 RESTful Web 服务,基于 WCF 框架的 RESTful Web 服务还是建立在 WCF Message ...

  4. hadoop2 环境的搭建(自动HA)

    zookeeper:hadoop112.hadoop113.hadoop114 namenode:hadoop110和hadoop111 datanode:hadoop112.hadoop113.ha ...

  5. Ibatis,Spring整合(注解方式注入)

    applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

  6. spring事务传播机制实例讲解

    http://kingj.iteye.com/blog/1680350   spring事务传播机制实例讲解 博客分类:   spring java历险     天温习spring的事务处理机制,总结 ...

  7. UVa 11582 (快速幂取模) Colossal Fibonacci Numbers!

    题意: 斐波那契数列f(0) = 0, f(1) = 1, f(n+2) = f(n+1) + f(n) (n ≥ 0) 输入a.b.n,求f(ab)%n 分析: 构造一个新数列F(i) = f(i) ...

  8. Websocket和PHP Socket编程

    本来是搜一些html5 websocket资料看的,结果被引去看了php的socket编程.下面是一些简单的例子,在命令行运行php脚本就行 [命令行运行PHP]PHP中有一个php.exe文件,可以 ...

  9. redis服务启动关闭脚本

    代码如下: # chkconfig: 90 10 # description: service of redis for start and stop add by tomener PATH=/usr ...

  10. 使用讯飞SDK,实现文字在线合成语音

    private SpeechSynthesizer mTts; private int isSpeaking = 0; mTts= SpeechSynthesizer.createSynthesize ...