コード例 #1
0
        public async Task <bool> PushMQAsync <T>(T Entity, MQEnum MQType = MQEnum.Push) where T : class, new()
        {
            //推送模式
            //推送模式下需指定管道名称和路由键值名称
            //消息只会被发送到指定的队列中去
            //订阅模式
            //订阅模式下只需指定管道名称
            //消息会被发送到该管道下的所有队列中
            //主题路由模式
            //路由模式下需指定管道名称和路由值
            //消息会被发送到该管道下,和路由值匹配的队列中去
            PushEntity <T> entity = new PushEntity <T>();

            entity.BodyData = Entity;
            entity.SendType = MQType;
            if (MQType == MQEnum.Push)
            {
                entity.ExchangeName = "Message.Direct";
                entity.RouteName    = "RouteKey";
            }
            else if (MQType == MQEnum.Sub)
            {
                entity.ExchangeName = "Message.Fanout";
            }
            else
            {
                entity.ExchangeName = "Message.Topic";
                entity.RouteName    = "RouteKey";
            }
            return(await MQFactory.SendMQAsync(entity).ContinueWith(t => { return t.IsCompleted ? true : false; }));
        }
コード例 #2
0
        public bool PushMQ <T>(T Entity, MQEnum MQType = MQEnum.Push) where T : class, new()
        {
            //推送模式
            //推送模式下需指定管道名称和路由键值名称
            //消息只会被发送到指定的队列中去
            //订阅模式
            //订阅模式下只需指定管道名称
            //消息会被发送到该管道下的所有队列中
            //主题路由模式
            //路由模式下需指定管道名称和路由值
            //消息会被发送到该管道下,和路由值匹配的队列中去
            PushEntity <T> entity = new PushEntity <T>();

            entity.BodyData = Entity;
            entity.SendType = MQType;
            if (MQType == MQEnum.Push)
            {
                entity.ExchangeName = "Message.Direct";
                entity.RouteName    = "RouteKey";
            }
            else if (MQType == MQEnum.Sub)
            {
                entity.ExchangeName = "Message.Fanout";
            }
            else
            {
                entity.ExchangeName = "Message.Topic";
                entity.RouteName    = "RouteKey";
            }
            return(MQFactory.SendMQ(entity));
        }
コード例 #3
0
 public void ExtuteMQ <T>(MQEnum Type) where T : new()
 {
     Task.Run(() =>
     {
         AcceptEntity accept = new AcceptEntity();
         if (Type == MQEnum.Push)
         {
             accept.SendType     = MQEnum.Push;
             accept.ExchangeName = "Message.Direct";
             accept.QueeName     = "Meesage.DirectQuene";
             accept.RouteName    = "RouteKey";
         }
         else if (Type == MQEnum.Sub)
         {
             accept.SendType     = MQEnum.Sub;
             accept.ExchangeName = "Message.Fanout";
             accept.QueeName     = "Meesage.FanoutQuene";
         }
         else
         {
             accept.SendType     = MQEnum.Top;
             accept.ExchangeName = "Message.Topic";
             accept.QueeName     = "Meesage.FanoutQuene";
             accept.RouteName    = "RouteKey";
         }
         MQFactory.Subscriber <Accept, T>(accept);
     });
 }