之前有写到一篇介绍EasyNetQ的博文(.net core使用rabbitmq消息队列 (二)
国际惯例,先上代码,但是代码比较多,所有又放gitee了:https://gitee.com/shanfeng1000/dotnetcore-demo/tree/master/EasyNetQ
消息发布(AspNetCore.WebApi.Producer)
Demo中这个项目是消息的发布程序,在Startup中添加服务:
public void ConfigureServices(IServiceCollection services) { var connectionString = "host=192.168.209.133;virtualHost=/;username=admin;password=123456;timeout=60"; string[] hosts = new string[] { "192.168.209.133", "192.168.209.134", "192.168.209.135" }; ushort port = 5672; string userName = "admin"; string password = "123456"; string virtualHost = "/"; var arguments = new Dictionary<string, object>() { { "x-queue-type", "classic" } }; #region 订阅发布 services.AddEasyNetQProducer("Publish", options => { //options.ConnectionString = connectionString; options.Hosts = hosts; options.Port = port; options.Password = password; options.UserName = userName; options.VirtualHost = virtualHost; options.PersistentMessages = true; options.Priority = 1; }); #endregion #region 请求响应 services.AddEasyNetQProducer("Request", options => { //options.ConnectionString = connectionString; options.Hosts = hosts; options.Port = port; options.Password = password; options.UserName = userName; options.VirtualHost = virtualHost; options.PersistentMessages = true; options.Priority = 3; }); #endregion #region 发送接收 services.AddEasyNetQProducer("Send", options => { //options.ConnectionString = connectionString; options.Hosts = hosts; options.Port = port; options.Password = password; options.UserName = userName; options.VirtualHost = virtualHost; options.Priority = 4; options.Queue = "send-recieve"; }); #endregion ...... }