示例#1
0
        /// <summary>
        /// 使用rabbitmq,针对同一客户端,只允许调用一次
        /// </summary>
        /// <param name="client"></param>
        /// <param name="config">rabbitmq配置</param>
        /// <param name="logger"></param>
        /// <returns></returns>
        public static IMissionClient UseRabbit(this IMissionClient client, RabbitMissionConfig config, ILogger logger = null)
        {
            var middleWare = new RabbitMqMiddleWare(config);
            var serializer = SerializerFactory.Create(config.SerializerType);

            client.UseMiddleWare(middleWare, serializer, logger);
            client.UseHttpClient(config.ServerHost);
            client.StartSubscribe();
            return(client);
        }
示例#2
0
 public static void Init(RabbitMissionConfig config)
 {
     _democlient    = new DemoClient();
     _missionClient = MissionFactory.CreateClient().UseRabbit(config);
 }
示例#3
0
 public static void Init(string config, ILogger logger)
 {
     _democlient    = new DemoClient();
     _missionClient = MissionFactory.CreateClient().UseRabbit(config, logger);
 }
示例#4
0
        /// <summary>
        /// 使用rabbitmq,针对同一客户端,只允许调用一次
        /// </summary>
        /// <param name="client"></param>
        /// <param name="sectionName">rabbitmq配置节名称</param>
        /// <param name="logger"></param>
        /// <returns></returns>
        public static IMissionClient UseRabbit(this IMissionClient client, string sectionName, ILogger logger = null)
        {
            var config = ConfigUtils.GetSection <RabbitMissionConfig>(sectionName);

            return(client.UseRabbit(config, logger));
        }