Пример #1
0
        public AuthorityUtility(ILogManagerFactory loggerFactory, IConfigurationManagerFactory configFactory)
        {
            logger = loggerFactory.CreateManager <AuthorityUtility>();
            config = configFactory.CreateManager("Authority");

            administrator = config.Get("AdministratorAuthority", administrator);
            initial       = config.Get("InitialAuthorityValue", initial);
        }
Пример #2
0
        public EncryptUtility(ILogManagerFactory loggerFactory, IConfigurationManagerFactory configFactory)
        {
            logger = loggerFactory.CreateManager <EncryptUtility>();
            config = configFactory.CreateManager("PBKDF2Encrypt");

            saltSize   = config.Get("SaltSize", saltSize);
            type       = config.Get("PRF", type);
            iteration  = config.Get("IterationTimes", iteration);
            resultSize = config.Get("SizeRequested", resultSize);
        }
Пример #3
0
        public CreditUtility(ILogManagerFactory loggerFactory, IConfigurationManagerFactory configFactory)
        {
            logger = loggerFactory.CreateManager <CreditUtility>();
            config = configFactory.CreateManager("Credit");

            accredit         = config.Get("AccreditRule", accredit);
            creditPunishment = config.Get("CreditReduceRule", creditPunishment);
            creditReward     = config.Get("CreditIncreaseRule", creditReward);
            changeMinLimit   = config.Get("ChangeCreditOnlyWhenBorrowTimeOver", changeMinLimit);
            initial          = config.Get("InitialCreditValue", initial);
        }
Пример #4
0
        public HTTPISBNInfoService(ILogManagerFactory loggerFactory, IConfigurationManagerFactory configFactory)
        {
            client = new HttpClient();
            logger = loggerFactory.CreateManager <HTTPISBNInfoService>();
            config = configFactory.CreateManager("ISBNAPI");

            url      = config.Get("", url);
            interval = config.Get("", interval);
            IConfigurationManager jsonPathConfig = config.CreateSubManager("JsonPath");

            isbnJsonPath            = jsonPathConfig.Get("ISBN", isbnJsonPath);
            titleJsonPath           = jsonPathConfig.Get("Title", titleJsonPath);
            authorJsonPath          = jsonPathConfig.Get("Author", authorJsonPath);
            publishingHouseJsonPath = jsonPathConfig.Get("PublishingHouse", publishingHouseJsonPath);
            labelsJsonPath          = jsonPathConfig.Get("Labels", labelsJsonPath);
            coverUrlJsonPath        = jsonPathConfig.Get("CoverUrl", coverUrlJsonPath);
            abstractJsonPath        = jsonPathConfig.Get("Abstract", abstractJsonPath);
        }
Пример #5
0
 public SeriLogManagerFactory(IConfigurationManagerFactory loggerFactory)
 {
     config = loggerFactory.CreateManager("Logger");
     path   = config.Get("FilePath", path);
     size   = config.Get("FileSizeLimitBytes", size);
     level  = config.Get("MinimumLevel", level);
     logger = new LoggerConfiguration()
              .MinimumLevel.Is(level)
              .WriteTo.Async(c =>
                             c.File(path,
                                    fileSizeLimitBytes: size,
                                    rollOnFileSizeLimit: true,
                                    rollingInterval: RollingInterval.Day,
                                    shared: true,
                                    outputTemplate: "{Timestamp:HH:mm:ss} [{SourceClass}] [{Level}] {Message:lj}{NewLine}{Exception}"))
              .WriteTo.Async(c =>
                             c.Trace(outputTemplate: "{Timestamp:HH:mm:ss} [{SourceClass}] [{Level}] {Message:lj}{NewLine}{Exception}"))
              .CreateLogger();
     selfLogger = CreateManager <SeriLogManagerFactory>();
     selfLogger.Info("日志模块初始化完毕!");
 }
        public FreeSQLDatabaseModelManager(ILogManagerFactory loggerFactory, IConfigurationManagerFactory configFactory)
        {
            logger = loggerFactory.CreateManager <FreeSQLDatabaseModelManager>();
            config = configFactory.CreateManager("Database");

            type = config.Get("Type", type);
            autoSyncStructure = config.Get("AutoSyncStructure", autoSyncStructure);
            parameterized     = config.Get("ParameterizedQuery", parameterized);
            sqlToVerbose      = config.Get("OutPutSqlToVerbose", sqlToVerbose);
            warnOnOverTime    = config.Get("WarnOnOverTime", sqlToVerbose);
            overTime          = config.Get("OverTimeMilliseconds", overTime);
            switch (type)
            {
            case DataType.MySql:
                IConfigurationManager mySqlConfig = config.CreateSubManager("MySql");
                mySqlDataSource     = mySqlConfig.Get("DataSource", mySqlDataSource);
                mySqlPort           = mySqlConfig.Get("Port", mySqlPort);
                mySqlUserId         = mySqlConfig.Get("UserId", mySqlUserId);
                mySqlPassword       = mySqlConfig.Get("Password", mySqlPassword);
                mySqlInitialCatlog  = mySqlConfig.Get("InitialCatlog", mySqlInitialCatlog);
                mySqlCharset        = mySqlConfig.Get("Charset", mySqlCharset);
                mySqlSslMode        = mySqlConfig.Get("SslMode", mySqlSslMode);
                mySqlMinPoolSize    = mySqlConfig.Get("MinPoolSize", mySqlMinPoolSize);
                sqlConnectionString = $"Data Source={mySqlDataSource};Port={mySqlPort};User ID={mySqlUserId};Password={mySqlPassword}; Initial Catalog={mySqlInitialCatlog};Charset={mySqlCharset}; SslMode={mySqlSslMode};Min pool size={mySqlMinPoolSize}";
                break;

            case DataType.SqlServer:
                IConfigurationManager sqlServerConfig = config.CreateSubManager("SqlServer");
                sqlServerDataSource         = sqlServerConfig.Get("DataSource", sqlServerDataSource);
                sqlServerIntegratedSecurity = sqlServerConfig.Get("IntegratedSecurity", sqlServerIntegratedSecurity);
                sqlServerInitialCatlog      = sqlServerConfig.Get("InitialCatlog", sqlServerInitialCatlog);
                sqlServerPooling            = sqlServerConfig.Get("Pooling", sqlServerPooling);
                sqlServerMinPoolSize        = sqlServerConfig.Get("PoolSize", sqlServerMinPoolSize);
                sqlConnectionString         = $"Data Source={sqlServerDataSource};Integrated Security={sqlServerIntegratedSecurity};Initial Catalog={sqlServerInitialCatlog};Pooling={sqlServerPooling};Min Pool Size={sqlServerMinPoolSize}";
                break;

            case DataType.PostgreSQL:
                IConfigurationManager postgreSqlConfig = config.CreateSubManager("PostgreSql");
                postgreSqlHost        = postgreSqlConfig.Get("Host", postgreSqlHost);
                postgreSqlPort        = postgreSqlConfig.Get("Port", postgreSqlPort);
                postgreSqlUserName    = postgreSqlConfig.Get("UserName", postgreSqlUserName);
                postgreSqlPassword    = postgreSqlConfig.Get("Password", postgreSqlPassword);
                postgreSqlDatabase    = postgreSqlConfig.Get("Database", postgreSqlDatabase);
                postgreSqlPooling     = postgreSqlConfig.Get("Pooling", postgreSqlPooling);
                postgreSqlMinPoolSize = postgreSqlConfig.Get("MinPoolSize", postgreSqlMinPoolSize);
                sqlConnectionString   = $"Host={postgreSqlHost};Port={postgreSqlPort};Username={postgreSqlUserName};Password={postgreSqlPassword}; config.Database={postgreSqlDatabase};Pooling={postgreSqlPooling};Minimum Pool Size={postgreSqlMinPoolSize}";
                break;

            case DataType.Oracle:
                IConfigurationManager oracleConfig = config.CreateSubManager("Oracle");
                oracleDataSource    = oracleConfig.Get("DataSource", oracleDataSource);
                oracleUserId        = oracleConfig.Get("UserId", oracleUserId);
                oraclePassword      = oracleConfig.Get("Password", oraclePassword);
                oraclePooling       = oracleConfig.Get("Pooling", oraclePooling);
                oracleMinPoolSize   = oracleConfig.Get("MinPoolSize", oracleMinPoolSize);
                sqlConnectionString = $"user id={oracleUserId};password={oraclePassword}; data source={oracleDataSource};Pooling={oraclePooling};Min Pool Size={oracleMinPoolSize}";
                break;

            default:
            case DataType.Sqlite:
                IConfigurationManager sqliteConfig = config.CreateSubManager("Sqlite");
                sqliteDataSource    = sqliteConfig.Get("DataSource", sqliteDataSource);
                sqliteAttachs       = sqliteConfig.Get("Attachs", sqliteAttachs);
                sqlitePooling       = sqliteConfig.Get("Pooling", sqlitePooling);
                sqliteMinPoolSize   = sqliteConfig.Get("MinPoolSize", sqliteMinPoolSize);
                sqlConnectionString = $"Data Source={sqliteDataSource}; Attachs={sqliteAttachs}; Pooling={sqlitePooling};Min Pool Size={sqliteMinPoolSize}";
                break;

            case DataType.MsAccess:
                IConfigurationManager msAccessConfig = config.CreateSubManager("MsAccess");
                msAccessDataSource  = msAccessConfig.Get("DataSource", msAccessDataSource);
                msAccessProvider    = msAccessConfig.Get("Provider", msAccessProvider);
                msAccessMaxPoolSize = msAccessConfig.Get("MaxPoolSize", msAccessMaxPoolSize);
                sqlConnectionString = $"Provider={msAccessProvider};Data Source={msAccessDataSource};max pool size={msAccessMaxPoolSize}";
                break;
            }
            sql = new FreeSqlBuilder()
                  .UseConnectionString(type, sqlConnectionString)
                  .UseAutoSyncStructure(autoSyncStructure)
                  .UseGenerateCommandParameterWithLambda(parameterized)
                  .Build();
            if (sqlToVerbose)
            {
                sql.Aop.CurdBefore += (s, e) =>
                {
                    logger.Verbose("执行SQL:\n{SQL}", e.Sql);
                };
            }

            if (warnOnOverTime)
            {
                sql.Aop.CurdAfter += (s, e) =>
                {
                    if (e.ElapsedMilliseconds >= overTime)
                    {
                        logger.Warn("执行SQL超时({Time}ms):\n{SQL}", e.ElapsedMilliseconds, e.Sql);
                    }
                };
            }
        }