【EasyNetQ】- 快速开始
欢迎来到EasyNetQ。本指南向您展示如何在大约10分钟内启动并运行EasyNetQ。
你可以在GitHub上找到这个快速入门的代码:https://github.com/mikehadlow/EasyNetQTest
EasyNetQ是一个简单易用的RabbitMQ客户端API。首先安装RabbitMQ:
- 安装Erlang:http://www.erlang.org/download.html
- 安装RabbitMQ服务器:http://www.rabbitmq.com/download.html
- 您可能也想启用RabbitMQ管理API:http://www.rabbitmq.com/management.html
现在您应该可以导航到RabbitMQ管理URL:
http://localhost:15672/

接下来打开Visual Studio并使用三个C#项目创建一个名为EasyNetQTest的新解决方案:
Messages (Class Library)
Publisher (Console Application)
Subscriber (Console Application)
打开NuGet包管理器控制台并在Publisher和Subscriber项目中安装EasyNetQ,方法是键入:
Install-Package EasyNetQ -ProjectName Publisher
Install-Package EasyNetQ -ProjectName Subscriber
在Messages项目中创建一个新类TextMessage.cs:
namespace Messages
{
public class TextMessage
{
public string Text { get; set; }
}
}
将Messages项目的引用添加到Publisher和Subscriber项目。
您的解决方案应如下所示:

在Publisher项目中打开Program.cs类,然后键入以下代码:
using System;
using EasyNetQ;
using Messages; namespace Publisher
{
class Program
{
static void Main(string[] args)
{
using (var bus = RabbitHutch.CreateBus("host=localhost"))
{
var input = "";
Console.WriteLine("Enter a message. 'Quit' to quit.");
while ((input = Console.ReadLine()) != "Quit")
{
bus.Publish(new TextMessage
{
Text = input
});
}
}
}
}
}
在Subscriber项目中打开另一个Program.cs类并键入以下代码:
using System;
using EasyNetQ;
using Messages; namespace Subscriber
{
class Program
{
static void Main(string[] args)
{
using (var bus = RabbitHutch.CreateBus("host=localhost"))
{
bus.Subscribe<TextMessage>("test", HandleTextMessage); Console.WriteLine("Listening for messages. Hit <return> to quit.");
Console.ReadLine();
}
} static void HandleTextMessage(TextMessage textMessage)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Got message: {0}", textMessage.Text);
Console.ResetColor();
}
}
}
现在右键单击Subscriber项目并选择“设置为启动项目”,然后单击ctrl-F5(启动而不调试)以启动Subscriber控制台应用程序。使用“发布”项目重复相同的步骤。
您现在应该运行两个控制台应用程序,其中包含大量调试信息,表明EasyNetQ已成功连接到您的RabbitMQ服务器。现在在发布者控制台应用程序中输入一些消息 您应该看到它已收到它们的订阅者应用程序报告。


【EasyNetQ】- 快速开始的更多相关文章
- 使用EasyNetQ组件操作RabbitMQ消息队列服务
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合, ...
- .NET Core微服务之基于EasyNetQ使用RabbitMQ消息队列
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.消息队列与RabbitMQ 1.1 消息队列 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更 ...
- 【EasyNetQ】- 简介
EasyNetQ是一个简单易用的,稳定的的RabbitMQ .NET API . 如果您只想尽快启动并运行,请转到“ 快速开始”指南. EasyNetQ的目标是提供一个库,使得在.NET中使用Rabb ...
- 快速构建H5单页面切换骨架
在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...
- .net core快速上手
2014年11月12日的Connect ();开发者活动上宣布将.NET堆栈基于MIT协议开源,并且提供开源保证,托管在Github上.当时的版本与最终目标相距甚远,然而有一点可以肯定的是,这是一个与 ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 快速搭建springmvc+spring data jpa工程
一.前言 这里简单讲述一下如何快速使用springmvc和spring data jpa搭建后台开发工程,并提供了一个简单的demo作为参考. 二.创建maven工程 http://www.cnblo ...
- 如何快速优化手游性能问题?从UGUI优化说起
WeTest 导读 本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法. 在之前的文 ...
随机推荐
- 如何在Vue中使用Mockjs模拟数据的增删查改
之前一直使用json-server在前端开发时,搭建本地数据接口测试,但有时又需要将做好的项目放于 github page上做项目演示.在本地时,json server很好使用,但一旦放在github ...
- DbUtils: JDBC Utility Component Examples翻译
DbUtils:JDBC实用组件实例 这一页提供了一些展示如何使用DbUtils的示例. 基本用法 DbUtils是一个非常小的类库,因此浏览完所有类的javadoc不会花费很长时间.DbUtils的 ...
- 【解决】docker 容器中 consul集群问题处理
现象描述: node1 和node2 日志反复出现 add remove node3节点. node3 节点 一直 驳回 node1 和node2 认为node3已经dead的消息 不断重启se ...
- MB/s与Mbit/s的区别
数据传输率的单位一般采用MB/s或Mbit/s,尤其在内部数据传输率上官方数据中更多的采用Mbit/s为单位.此处有必要讲解一下两个单位二者之间的差异: MB/s的含义是兆字节每秒,Mbit/s的含义 ...
- PC时代 常用搜索引擎高级指令 勿忘
PC时代,高级指令辅助检索,高效输出既定的需求,被广泛运用于Search Engine. 布局search入口的平台,高级指令都不可或缺.现今,高级指令的高效性,仍然主要体现在搜索引擎检索过程中. i ...
- 【PHP】统计问卷调查结果的选项票数和百分比
遇到问题: 有以下数组,每一条记录是用户的每一条问卷题目的回答情况,q_id是问题id,o_id是选项id.需要统计每一个选项被选择的次数和每个选项占该问题的百分比.如问题1的选项有A和B,一个用户选 ...
- [转]JavaScript中的匿名函数及函数的闭包
JavaScript中的匿名函数及函数的闭包 原文地址:http://www.cnblogs.com/wl0000-03/p/6050108.html 1.匿名函数 函数是JavaScript中最灵 ...
- PHP-入门指引1
PHP("PHP: Hypertext Preprocessor",超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web ...
- mysql计算排名
mysql计算排名,获取行号rowno 学生成绩表数据 SELECT * FROM table_score ORDER BY score DESC; 获取某个学生成绩排名并计算该学生和上一名学生成绩差 ...
- 【转】使用git提交项目到码云
一.git安装 1.首先在官方网站下载git工具,或者根据以下链接进行下载:http://download.csdn.net/detail/qq_27501889/9788879(此链接版本为git- ...