コード例 #1
0
        /// <summary>
        /// 获取当前配置
        /// <para></para>
        /// </summary>
        public static FileConfigurationRepo GetCurrentConfiguration()
        {
            var file = GetCurrentConfigurationFile();

            FileConfigurationRepo fileConfigurationRepo = ConfigurationFactory.FromFile(file.FullName);

            return(fileConfigurationRepo);
        }
コード例 #2
0
        public void ReadDirectly()
        {
            const string          dcc  = "configs.01.dcc";
            FileConfigurationRepo repo = ConfigurationFactory.FromFile(dcc);
            var configs = repo.CreateAppConfigurator().Of <FakeConfiguration>();

            _ = configs.Key;
        }
コード例 #3
0
        public async Task ReadWithFileChangeChecking()
        {
            const string          dcc  = "configs.02.dcc";
            FileConfigurationRepo repo = ConfigurationFactory.FromFile(dcc);
            var configs = repo.CreateAppConfigurator().Of <FakeConfiguration>();
            await repo.ReloadExternalChangesAsync().ConfigureAwait(false);

            _ = configs.Key;
        }
コード例 #4
0
        public static IAppConfigurator GetAppConfigurator()
        {
            if (_appConfigurator is null)
            {
                var fileConfigurationRepo = new FileConfigurationRepo(ConfigurationFile.FullName);
                _appConfigurator = fileConfigurationRepo.CreateAppConfigurator();
            }

            return(_appConfigurator);
        }
 /// <summary>
 /// 断言文件同步次数。
 /// </summary>
 /// <param name="repo">配置仓库。</param>
 /// <param name="countForHighResolutionFileSystem">在支持高精度时间的文件系统上的同步次数(严格相等)。</param>
 /// <param name="countForOtherFileSystems">在不支持高精度时间的文件系统上的同步次数(不大于此值)。</param>
 private static void AssertFileSyncingCount(FileConfigurationRepo repo, int countForHighResolutionFileSystem, int countForOtherFileSystems)
 {
     if (repo.SupportsHighResolutionFileTime)
     {
         // 支持高精度时间的文件系统上,同步次数固定。
         Assert.AreEqual(countForHighResolutionFileSystem, repo.FileSyncingCount);
     }
     else
     {
         // 在不支持高精度时间的文件系统上,同步次数不大于值(多出的一次是因为并发时机发生时,无法确定文件的新旧)。
         Assert.IsTrue(repo.FileSyncingCount <= countForOtherFileSystems);
     }
 }