之前有写到一篇介绍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
        ......
    }
ConfigureServices

相关文章: