Ejemplo n.º 1
0
        /// <summary>
        /// 注册健康监测组件
        /// </summary>
        public virtual void AddHealthChecks()
        {
            var redisString = _redisConfig.dbconfig.ConnectionStrings[0].Replace(",prefix=", string.Empty).Replace(",poolsize=50", string.Empty);

            _services.AddHealthChecks()
            .AddProcessAllocatedMemoryHealthCheck(maximumMegabytesAllocated: 200, tags: new[] { "memory" })
            //.AddProcessHealthCheck("ProcessName", p => p.Length > 0) // check if process is running
            .AddMySql(_mysqlConfig.WriteDbConnectionString)
            .AddMongoDb(_mongoConfig.ConnectionStrings)
            .AddRabbitMQ(x =>
            {
                return
                (RabbitMqConnection.GetInstance(x.GetService <IOptionsSnapshot <RabbitMqConfig> >()
                                                , x.GetService <ILogger <dynamic> >()
                                                ).Connection);
            })
            //.AddUrlGroup(new Uri("https://localhost:5001/weatherforecast"), "index endpoint")
            .AddRedis(redisString);
        }
Ejemplo n.º 2
0
    public static IServiceCollection AddAdncInfraRabbitMq(this IServiceCollection services, IConfigurationSection rabitmqSection)
    {
        if (services.HasRegistered(nameof(AddAdncInfraRabbitMq)))
        {
            return(services);
        }

        return(services
               .Configure <RabbitMqConfig>(rabitmqSection)
               .AddSingleton <IRabbitMqConnection>(provider =>
        {
            var options = provider.GetRequiredService <IOptions <RabbitMqConfig> >();
            var logger = provider.GetRequiredService <ILogger <RabbitMqConnection> >();
            var serviceInfo = services.GetServiceInfo();
            var clientProvidedName = serviceInfo?.Id ?? "unkonow";
            return RabbitMqConnection.GetInstance(options, clientProvidedName, logger);
        })
               .AddSingleton <RabbitMqProducer>()
               );
    }
Ejemplo n.º 3
0
        /// <summary>
        /// 注册健康监测组件
        /// </summary>
        public virtual void AddHealthChecks()
        {
            var mysqlConfig = _configuration.GetMysqlSection().Get <MysqlConfig>();
            var mongoConfig = _configuration.GetMongoDbSection().Get <MongoConfig>();
            var redisConfig = _configuration.GetRedisSection().Get <RedisConfig>();

            _services.AddHealthChecks()
            //.AddProcessAllocatedMemoryHealthCheck(maximumMegabytesAllocated: 200, tags: new[] { "memory" })
            //.AddProcessHealthCheck("ProcessName", p => p.Length > 0) // check if process is running
            .AddMySql(mysqlConfig.ConnectionString)
            .AddMongoDb(mongoConfig.ConnectionString)
            .AddRabbitMQ(x =>
            {
                return
                (RabbitMqConnection.GetInstance(x.GetService <IOptionsSnapshot <RabbitMqConfig> >()
                                                , x.GetService <ILogger <dynamic> >()
                                                ).Connection);
            })
            //.AddUrlGroup(new Uri("https://localhost:5001/weatherforecast"), "index endpoint")
            .AddRedis(redisConfig.dbconfig.ConnectionString);
        }