RabbitMQ C# 例子 -摘自网络
//刚刚接触,如有不对还望不吝指正
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# 例子 -摘自网络的更多相关文章
- RabbitMQ 入门 Helloworld -摘自网络
本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考. “Hello world” of RabbitMQ 1.Windows下RabbitMQ的安装 下载Erlang ...
- 安装 RabbitMQ C#使用-摘自网络(包括RabbitMQ的配置)
1.什么是RabbitMQ.详见 http://www.rabbitmq.com/ . 作用就是提高系统的并发性,将一些不需要及时响应客户端且占用较多资源的操作,放入队列,再由另外一个线程,去异步处理 ...
- C# 中的内存管理,摘自网络
C#编程的一个优点是程序员不需要关心具体的内存管理,尤其是垃圾收集器会处理所有的内存清理工作.虽然不必手工管理内存,但如果要编写高质量的代码,还是要理解后台发生的事情,理解C#的内存管理.本文主要介绍 ...
- Android:控件WebView显示网页 -摘自网络
WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用. webview有两个方法:setWebChromeClient 和 setWebClient setWebClient:主要 ...
- Ubuntu的常用快捷键(摘自网络)
篇一 : Ubuntu的复制粘贴操作及常用快捷键(摘自网络) Ubuntu的复制粘贴操作 1.最为简单,最为常用的应该是鼠标右键操作了,可以选中文件,字符等,右键鼠标,复制,到目的地右键鼠标,粘贴就结 ...
- RabbitMQ (五)主题(Topic) -摘自网络
虽然使用direct类型改良了我们的系统,但是仍然存在一些局限性:它不能够基于多重条件进行路由选择. 在我们的日志系统中,我们有可能希望不仅根据日志的级别而且想根据日志的来源进行订阅.这个概念类似un ...
- RabbitMQ (三) 发布/订阅 -摘自网络
这篇博客中,我们会做一些改变,就是把一个消息发给多个消费者,这种模式称之为发布/订阅(类似观察者模式). 为了验证这种模式,我们准备构建一个简单的日志系统.这个系统包含两类程序,一类程序发动日志,另一 ...
- RabbitMQ (二)工作队列 -摘自网络
这篇中我们将会创建一个工作队列用来在工作者(consumer)间分发耗时任务.工作队列的主要任务是:避免立刻执行资源密集型任务,然后必须等待其完成.相反地,我们进行任务调度:我们把任务封装为消息发送给 ...
- RabbitMQ三种Exchange模式(fanout,direct,topic)的特性 -摘自网络
RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储 RabbitMQ提供了四种Exchange:fanout,direct, ...
随机推荐
- player/stage 学习---安装
环境 ubuntu 14.04 一,工具安装 sudo apt-get install git cmake g++ fltk1.1-dev libjpeg8-dev libpng12-dev libg ...
- 计算机视觉和人工智能的状态:我们已经走得很远了 The state of Computer Vision and AI: we are really, really far away.
The picture above is funny. But for me it is also one of those examples that make me sad about the o ...
- android的helloworld工程目录学习
android的helloworld工程目录学习 Android工程的主要目录有src.gen.Android X.X.bin.res等文件夹. 1. Src文件夹 Src文件夹包含java源 ...
- 如何在Ubuntu上安装最新版本的Node.js
apt-get update apt-get install -y python-software-properties software-properties-common add-apt-repo ...
- Building Xcode iOS projects and creating *.ipa file from the command line
For our development process of iOS applications, we are using Jenkins set up on the Mac Mini Server, ...
- bzoj1296: [SCOI2009]粉刷匠
dp. 用到俩次dp,用1和0代表俩种颜色,首先对于每块木板我们进行一次dp,g[i][j]代表前j个格子刷i次最多能涂到几个格子. 则 g[i][j]=max(g[i-1][k],max(cnt[j ...
- Entity Framework查询,EF执行SQl
一.简介 EF 支持开放底层的 ADO.NET 框架,DbContext有三种常用方法 DbSet.SqlQuery //查询并返回Entities DbContext.Database.SqlQue ...
- ASP.NET MVC Html.ActionLink使用说明
本文整理了该方法的几种重载形式: 1.Html.ActionLink("linkText","actionName")该重载的第一个参数是该链接要显示的文字,第 ...
- error while loading shared libraries: libevent-2.0.so.5解决办法
安装memcache时,需要建立文件索引或者说文件连接(link),类似windows下的快捷方式 启动服务时出现 error while loading shared libraries: libe ...
- Java [Leetcode 268]Missing Number
题目描述: Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is ...