Beispiel #1
0
        public static FeedSettings GetInstance(ConfigurationExtension configuration)
        {
            var result = configuration.GetSetting <FeedSettings>("feed");

            if (string.IsNullOrEmpty(result.ServerRoot))
            {
                result.ServerRoot = "http://*/";
            }

            if (result.AggregatePeriod == TimeSpan.Zero)
            {
                result.AggregatePeriod = TimeSpan.FromMinutes(5);
            }

            if (result.AggregateInterval == TimeSpan.Zero)
            {
                result.AggregateInterval = TimeSpan.FromDays(14);
            }

            if (result.RemovePeriod == TimeSpan.Zero)
            {
                result.RemovePeriod = TimeSpan.FromDays(1);
            }

            return(result);
        }
Beispiel #2
0
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            try
            {
                var cfg = ConfigurationExtension.GetSetting <SsoAuthSettings>("ssoauth");

                startInfo = new ProcessStartInfo
                {
                    CreateNoWindow   = false,
                    UseShellExecute  = false,
                    FileName         = "node",
                    WindowStyle      = ProcessWindowStyle.Hidden,
                    Arguments        = string.Format("\"{0}\"", Path.GetFullPath(CrossPlatform.PathCombine(HostEnvironment.ContentRootPath, cfg.Path, "app.js"))),
                    WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory
                };


                startInfo.EnvironmentVariables.Add("core.machinekey", Configuration["core:machinekey"]);
                startInfo.EnvironmentVariables.Add("port", cfg.Port);

                LogDir = Logger.LogDirectory;
                startInfo.EnvironmentVariables.Add("logPath", LogDir);

                await StartNode(cancellationToken);
            }
            catch (Exception e)
            {
                Logger.Error("Start", e);
            }
        }
Beispiel #3
0
        public void Init()
        {
            //初始化配置文件
            Assembly      entryAssembly = Assembly.GetExecutingAssembly();
            Configuration configuration = ConfigurationExtension.GetConfigurationFromAssembly(entryAssembly);

            FrameworkSection.Initialize(configuration);
            DependencyInjectionSection.Initialize(configuration);
            RedisSection.Initialize(configuration);

            if (!ResolveMediator.ContainerBuilt)
            {
                IServiceCollection builder = ResolveMediator.GetServiceCollection();
                builder.RegisterConfigs();

                ResolveMediator.Build();
            }

            DbSession dbSession = new DbSession();

            dbSession.Database.EnsureCreated();

            this._unitOfWork = ResolveMediator.Resolve <IUnitOfWorkStub>();

            GlobalSetting.InitCurrentSessionId();
        }
Beispiel #4
0
        public static IServiceCollection AddCustomHealthCheck(this IServiceCollection services, IConfiguration configuration)
        {
            var hcBuilder = services.AddHealthChecks();

            hcBuilder.AddCheck("self", () => HealthCheckResult.Healthy());

            var configurationExtension = new ConfigurationExtension(configuration);

            var connectionString = configurationExtension.GetConnectionStrings("default");

            if (String.Compare(connectionString.ProviderName, "MySql.Data.MySqlClient") == 0)
            {
                hcBuilder.AddMySql(connectionString.ConnectionString,
                                   name: "mysqldb",
                                   tags: new string[] { "mysqldb" }
                                   );
            }

            if (String.Compare(connectionString.ProviderName, "Npgsql") == 0)
            {
                hcBuilder.AddNpgSql(connectionString.ConnectionString,
                                    name: "postgredb",
                                    tags: new string[] { "postgredb" }
                                    );
            }

            var kafkaSettings = configurationExtension.GetSetting <KafkaSettings>("kafka");

            if (kafkaSettings != null && !string.IsNullOrEmpty(kafkaSettings.BootstrapServers))
            {
                var clientConfig = new ClientConfig {
                    BootstrapServers = kafkaSettings.BootstrapServers
                };

                hcBuilder.AddKafka(new ProducerConfig(clientConfig),
                                   name: "kafka",
                                   tags: new string[] { "kafka" });
            }


            var elasticSettings = configuration.GetSection("elastic");

            if (elasticSettings != null && elasticSettings.GetChildren().Any())
            {
                var host             = elasticSettings.GetSection("Host").Value ?? "localhost";
                var scheme           = elasticSettings.GetSection("Scheme").Value ?? "http";
                var port             = elasticSettings.GetSection("Port").Value ?? "9200";
                var elasticSearchUri = $"{scheme}://{host}:{port}";

                if (Uri.IsWellFormedUriString(elasticSearchUri, UriKind.Absolute))
                {
                    hcBuilder.AddElasticsearch(elasticSearchUri,
                                               name: "elasticsearch",
                                               tags: new string[] { "elasticsearch" });
                }
            }

            return(services);
        }
Beispiel #5
0
        public void Initialize()
        {
#if NETCOREAPP3_1_OR_GREATER
            Assembly      assembly      = Assembly.GetExecutingAssembly();
            Configuration configuration = ConfigurationExtension.GetConfigurationFromAssembly(assembly);
            AspNetSection.Initialize(configuration);
#endif
        }
Beispiel #6
0
        public void Init()
        {
            //初始化配置文件
            Assembly      entryAssembly = Assembly.GetExecutingAssembly();
            Configuration configuration = ConfigurationExtension.GetConfigurationFromAssembly(entryAssembly);

            ServiceModelSectionGroup.Initialize(configuration);
        }
Beispiel #7
0
        //private ConfigurationExtension ConfigurationExtension { get; }
        //private IHostEnvironment HostEnvironment { get; set; }

        public RadicaleServiceLauncher(
            IOptionsMonitor <ILog> options,
            ConfigurationExtension configurationExtension,
            IHostEnvironment hostEnvironment)
        {
            Logger = options.CurrentValue;
            //ConfigurationExtension = configurationExtension;
            //HostEnvironment = hostEnvironment;
        }
Beispiel #8
0
        public void Init()
        {
#if NETCOREAPP3_1_OR_GREATER
            //初始化配置文件
            Assembly      entryAssembly = Assembly.GetExecutingAssembly();
            Configuration configuration = ConfigurationExtension.GetConfigurationFromAssembly(entryAssembly);
            RedisSection.Initialize(configuration);
#endif
        }
 public MultiRegionAccountLinker(string databaseId, ConfigurationExtension configuration, IOptionsSnapshot <AccountLinker> snapshot)
 {
     foreach (var connection in configuration.GetConnectionStrings())
     {
         if (connection.Name.StartsWith(databaseId))
         {
             _accountLinkers.Add(connection.Name, snapshot.Get(connection.Name));
         }
     }
 }
Beispiel #10
0
 public FeedAggregatorService(
     ConfigurationExtension configuration,
     IServiceProvider serviceProvider,
     IOptionsMonitor <ILog> optionsMonitor,
     IOptionsSnapshot <SignalrServiceClient> optionsSnapshot)
 {
     Configuration        = configuration;
     ServiceProvider      = serviceProvider;
     Log                  = optionsMonitor.Get("ASC.Feed.Agregator");
     SignalrServiceClient = optionsSnapshot.Get("counters");
 }
Beispiel #11
0
        public Settings(ConfigurationExtension configuration)
        {
            var cfg = configuration.GetSetting <Settings>("elastic");

            Scheme           = cfg.Scheme ?? "http";
            Host             = cfg.Host ?? "localhost";
            Port             = cfg.Port ?? 9200;
            Period           = cfg.Period ?? 1;
            MemoryLimit      = cfg.MemoryLimit ?? 1 * 1024 * 1024L;
            MaxContentLength = cfg.MaxContentLength ?? 10 * 1024 * 1024L;
        }
Beispiel #12
0
        public void Initialize()
        {
#if NETCOREAPP3_1_OR_GREATER
            //初始化配置文件
            Assembly      entryAssembly = Assembly.GetExecutingAssembly();
            Configuration configuration = ConfigurationExtension.GetConfigurationFromAssembly(entryAssembly);
            AopSection.Initialize(configuration);
#endif
            string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
            AppDomain.CurrentDomain.SetData("DataDirectory", baseDirectory);
        }
Beispiel #13
0
 public Launcher(
     IOptionsMonitor <ILog> options,
     IConfiguration configuration,
     ConfigurationExtension configurationExtension,
     IHostEnvironment hostEnvironment)
 {
     Logger                 = options.CurrentValue;
     Configuration          = configuration;
     ConfigurationExtension = configurationExtension;
     HostEnvironment        = hostEnvironment;
 }
Beispiel #14
0
        public void Init()
        {
#if NETCOREAPP3_1_OR_GREATER
            //初始化配置文件
            Assembly      entryAssembly = Assembly.GetExecutingAssembly();
            Configuration configuration = ConfigurationExtension.GetConfigurationFromAssembly(entryAssembly);
            RedisSection.Initialize(configuration);
#endif

            IDatabase database = RedisManager.Instance.GetDatabase();
            database.StringSet(ReadKey, ReadValue);
        }
Beispiel #15
0
 public TariffSyncService(
     IServiceProvider serviceProvider,
     ConfigurationExtension configuration,
     DbQuotaService dbQuotaService,
     IOptionsMonitor <ILog> options)
 {
     config          = TariffSyncServiceSection.GetSection();
     ServiceProvider = serviceProvider;
     Configuration   = configuration;
     DbQuotaService  = dbQuotaService;
     log             = options.CurrentValue;
 }
Beispiel #16
0
        public UrlShortenerService(
            IOptionsMonitor <ILog> options,
            IConfiguration config,
            IHostEnvironment host,
            ConfigurationExtension configurationExtension)
        {
            log = options.Get("ASC.UrlShortener.Svc");

            configuration = config;

            hostEnvironment             = host;
            this.configurationExtension = configurationExtension;
        }
Beispiel #17
0
 public BackupService(
     IOptionsMonitor <ILog> options,
     BackupStorageFactory backupStorageFactory,
     BackupWorker backupWorker,
     BackupRepository backupRepository,
     ConfigurationExtension configuration)
 {
     Log = options.CurrentValue;
     BackupStorageFactory = backupStorageFactory;
     BackupWorker         = backupWorker;
     BackupRepository     = backupRepository;
     Configuration        = configuration;
 }
        public void Init()
        {
            //初始化配置文件
            Assembly      entryAssembly = Assembly.GetExecutingAssembly();
            Configuration configuration = ConfigurationExtension.GetConfigurationFromAssembly(entryAssembly);

            ServiceModelSectionGroup.Initialize(configuration);

            ServiceProxy <IAuthenticationContract> authenticationContractProxy = new ServiceProxy <IAuthenticationContract>();
            ServiceProxy <IUserContract>           userContractProxy           = new ServiceProxy <IUserContract>();

            this._authenticationContract = authenticationContractProxy.Channel;
            this._userContract           = userContractProxy.Channel;
        }
 public BackupServiceLauncher(
     BackupCleanerService cleanerService,
     BackupSchedulerService schedulerService,
     BackupWorker backupWorker,
     ConfigurationExtension configuration,
     BackupListener backupListener,
     NotifyConfiguration notifyConfiguration)
 {
     CleanerService      = cleanerService;
     SchedulerService    = schedulerService;
     BackupWorker        = backupWorker;
     Configuration       = configuration;
     BackupListener      = backupListener;
     NotifyConfiguration = notifyConfiguration;
 }
Beispiel #20
0
 public FactoryIndexerFile(
     IOptionsMonitor <ILog> options,
     TenantManager tenantManager,
     SearchSettingsHelper searchSettingsHelper,
     FactoryIndexer factoryIndexer,
     BaseIndexer <DbFile> baseIndexer,
     IServiceProvider serviceProvider,
     IDaoFactory daoFactory,
     ICache cache,
     ConfigurationExtension configurationExtension)
     : base(options, tenantManager, searchSettingsHelper, factoryIndexer, baseIndexer, serviceProvider, cache)
 {
     DaoFactory = daoFactory;
     Settings   = Settings.GetInstance(configurationExtension);
 }
Beispiel #21
0
        public static Settings GetInstance(ConfigurationExtension configuration)
        {
            var result = new Settings();
            var cfg    = configuration.GetSetting <Settings>("elastic");

            result.Scheme           = cfg.Scheme ?? "http";
            result.Host             = cfg.Host ?? "localhost";
            result.Port             = cfg.Port ?? 9200;
            result.Period           = cfg.Period ?? 1;
            result.MaxContentLength = cfg.MaxContentLength ?? 100 * 1024 * 1024L;
            result.MaxFileSize      = cfg.MaxFileSize ?? 10 * 1024 * 1024L;
            result.Threads          = cfg.Threads ?? 1;
            result.HttpCompression  = cfg.HttpCompression ?? true;
            return(result);
        }
Beispiel #22
0
        private ProcessStartInfo GetProcessStartInfo()
        {
            var path = configuration["urlshortener:path"] ?? "../../ASC.UrlShortener/index.js";
            var port = configuration["urlshortener:port"] ?? "9999";

            var startInfo = new ProcessStartInfo
            {
                CreateNoWindow   = false,
                UseShellExecute  = false,
                FileName         = "node",
                WindowStyle      = ProcessWindowStyle.Hidden,
                Arguments        = string.Format("\"{0}\"", Path.GetFullPath(Path.Combine(hostEnvironment.ContentRootPath, path))),
                WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory
            };

            startInfo.EnvironmentVariables.Add("core.machinekey", configuration["core:machinekey"]);

            startInfo.EnvironmentVariables.Add("port", port);

            var conString = ConfigurationExtension.GetConnectionStrings(configuration)["default"].ConnectionString;

            var dict = new Dictionary <string, string>
            {
                { "Server", "host" },
                { "Database", "database" },
                { "User ID", "user" },
                { "Password", "password" }
            };

            foreach (var conf in conString.Split(';'))
            {
                var splited = conf.Split('=');

                if (splited.Length < 2)
                {
                    continue;
                }

                if (dict.ContainsKey(splited[0]))
                {
                    startInfo.EnvironmentVariables.Add("sql:" + dict[splited[0]], splited[1]);
                }
            }

            startInfo.EnvironmentVariables.Add("logPath", Path.GetFullPath(Path.Combine(hostEnvironment.ContentRootPath, log.LogDirectory, "web.urlshortener.log")));

            return(startInfo);
        }
 public SocketServiceLauncher(
     IOptionsMonitor <ILog> options,
     IConfiguration configuration,
     ConfigurationExtension configurationExtension,
     CoreBaseSettings coreBaseSettings,
     IOptionsSnapshot <SignalrServiceClient> signalrServiceClient,
     IHostEnvironment hostEnvironment)
 {
     Logger = options.CurrentValue;
     CancellationTokenSource = new CancellationTokenSource();
     Configuration           = configuration;
     ConfigurationExtension  = configurationExtension;
     CoreBaseSettings        = coreBaseSettings;
     SignalrServiceClient    = signalrServiceClient.Value;
     HostEnvironment         = hostEnvironment;
 }
Beispiel #24
0
        public ServiceLauncher(
            IOptionsMonitor <ILog> options,
            ICacheNotify <AscCacheItem> notify,
            ICacheNotify <IndexAction> indexNotify,
            IServiceProvider serviceProvider,
            ConfigurationExtension configurationExtension)
        {
            Log                     = options.Get("ASC.Indexer");
            Notify                  = notify;
            IndexNotify             = indexNotify;
            ServiceProvider         = serviceProvider;
            CancellationTokenSource = new CancellationTokenSource();
            var settings = Settings.GetInstance(configurationExtension);

            Period = TimeSpan.FromMinutes(settings.Period.Value);
        }
        public void Init()
        {
            //初始化配置文件
            Assembly      entryAssembly = Assembly.GetExecutingAssembly();
            Configuration configuration = ConfigurationExtension.GetConfigurationFromAssembly(entryAssembly);

            DependencyInjectionSection.Initialize(configuration);

            //初始化依赖注入容器
            if (!ResolveMediator.ContainerBuilt)
            {
                IServiceCollection builder = ResolveMediator.GetServiceCollection();
                builder.RegisterConfigs();

                ResolveMediator.Build();
            }
        }
 public MultiRegionHostedSolution(string dbid,
     IConfiguration configuraion,
     ConfigurationExtension configurationExtension,
     CookieStorage cookieStorage,
     EFLoggerFactory loggerFactory,
     PasswordHasher passwordHasher,
     IOptionsSnapshot<HostedSolution> hostedSolutionOptions)
 {
     this.dbid = dbid;
     Configuraion = configuraion;
     ConfigurationExtension = configurationExtension;
     CookieStorage = cookieStorage;
     LoggerFactory = loggerFactory;
     PasswordHasher = passwordHasher;
     HostedSolutionOptions = hostedSolutionOptions;
     Initialize();
 }
 public BackupStorageFactory(
     ConsumerBackupStorage consumerBackupStorage,
     LocalBackupStorage localBackupStorage,
     ConfigurationExtension configuration,
     DocumentsBackupStorage documentsBackupStorage,
     TenantManager tenantManager,
     DataStoreBackupStorage dataStoreBackupStorage,
     IOptionsMonitor <ILog> options)
 {
     Configuration          = configuration;
     DocumentsBackupStorage = documentsBackupStorage;
     DataStoreBackupStorage = dataStoreBackupStorage;
     Log = options.CurrentValue;
     LocalBackupStorage    = localBackupStorage;
     ConsumerBackupStorage = consumerBackupStorage;
     TenantManager         = tenantManager;
 }
        public static ThumbnailSettings GetInstance(ConfigurationExtension configuration)
        {
            var result = new ThumbnailSettings();
            var cfg    = configuration.GetSetting <ThumbnailSettings>("thumbnail");

            result.ServerRoot           = cfg.ServerRoot ?? "http://localhost/";
            result.LaunchFrequency      = cfg.LaunchFrequency != 0 ? cfg.LaunchFrequency : 1;
            result.ConnectionStringName = cfg.ConnectionStringName ?? "default";
            result.Formats                = cfg.Formats ?? ".pptx|.pptm|.ppt|.ppsx|.ppsm|.pps|.potx|.potm|.pot|.odp|.fodp|.otp|.gslides|.xlsx|.xlsm|.xls|.xltx|.xltm|.xlt|.ods|.fods|.ots|.gsheet|.csv|.docx|.docxf|.oform|.docm|.doc|.dotx|.dotm|.dot|.odt|.fodt|.ott|.gdoc|.txt|.rtf|.mht|.html|.htm|.fb2|.epub|.pdf|.djvu|.xps|.bmp|.jpeg|.jpg|.png|.gif|.tiff|.tif|.ico";
            result.SqlMaxResults          = cfg.SqlMaxResults != 0 ? cfg.SqlMaxResults : 1000;
            result.MaxDegreeOfParallelism = cfg.MaxDegreeOfParallelism != 0 ? cfg.MaxDegreeOfParallelism : 10;
            result.AvailableFileSize      = cfg.AvailableFileSize ?? 100L * 1024L * 1024L;
            result.AttemptsLimit          = cfg.AttemptsLimit ?? 3;
            result.AttemptWaitInterval    = cfg.AttemptWaitInterval != 0 ? cfg.AttemptWaitInterval : 1000;
            result.ThumbnaillHeight       = cfg.ThumbnaillHeight != 0 ? cfg.ThumbnaillHeight : 128;
            result.ThumbnaillWidth        = cfg.ThumbnaillWidth != 0 ? cfg.ThumbnaillWidth : 192;
            return(result);
        }
Beispiel #29
0
        public static void Main(string[] args)
        {
            Log.Logger = ConfigurationExtension.LoadLogger(Configuration);

            try
            {
                Log.Information("Starting ElGuayaBot");

                CreateWebHostBuilder(args).Build().Run();
            }
            catch (Exception ex)
            {
                Log.Fatal(ex, "ElGuayaBot terminated unexpectedly");
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }
Beispiel #30
0
        public KafkaCache(ConfigurationExtension configuration, IOptionsMonitor <ILog> options)
        {
            Log     = options.CurrentValue;
            Cts     = new ConcurrentDictionary <string, CancellationTokenSource>();
            Actions = new ConcurrentDictionary <string, Action <T> >();
            Key     = Guid.NewGuid();

            var settings = configuration.GetSetting <KafkaSettings>("kafka");

            if (settings != null && !string.IsNullOrEmpty(settings.BootstrapServers))
            {
                ClientConfig = new ClientConfig {
                    BootstrapServers = settings.BootstrapServers
                };
            }
            else
            {
                MemoryCacheNotify = new MemoryCacheNotify <T>();
            }
        }