如何在应用程序代码中删除 app.config
how to remove app.config in application code
我正在编写一个 Dll 项目,其中我使用 EnterpriseLibrary.Caching.NetCore 进行内存缓存。此软件包需要 app.config。现在,当我在我的控制台应用程序中调用此 DLL 时,我也必须在我的控制台应用程序中添加 app.config。所以我需要从我的控制台应用程序中删除 app.config。
我认为您可以通过从自定义配置中手动设置企业库容器 (IServiceLoccator) 以编程方式初始化企业库缓存块。因此,不应读取应用程序配置文件。例如:
var configSource = new DictionaryConfigurationSource();
var cacheSettings = new CacheManagerSettings();
configSource.Add(CacheManagerSettings.SectionName, cacheSettings);
var storageConfig = new CacheStorageData("NullBackingStore", typeof(NullBackingStore));
cacheSettings.BackingStores.Add(storageConfig);
var cacheManagerData = new CacheManagerData(
"Cache Manager",
60,
1000,
10,
storageConfig.Name);
cacheSettings.CacheManagers.Add(cacheManagerData);
cacheSettings.DefaultCacheManager = "Cache Manager";
cacheSettings.DefaultCacheManager = cacheManagerData.Name;
EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);
编辑:请注意,我已经在 .NET Framework 上为企业库使用了这种代码,但我想它在 .Net 核心上应该是相同的。
我正在编写一个 Dll 项目,其中我使用 EnterpriseLibrary.Caching.NetCore 进行内存缓存。此软件包需要 app.config。现在,当我在我的控制台应用程序中调用此 DLL 时,我也必须在我的控制台应用程序中添加 app.config。所以我需要从我的控制台应用程序中删除 app.config。
我认为您可以通过从自定义配置中手动设置企业库容器 (IServiceLoccator) 以编程方式初始化企业库缓存块。因此,不应读取应用程序配置文件。例如:
var configSource = new DictionaryConfigurationSource();
var cacheSettings = new CacheManagerSettings();
configSource.Add(CacheManagerSettings.SectionName, cacheSettings);
var storageConfig = new CacheStorageData("NullBackingStore", typeof(NullBackingStore));
cacheSettings.BackingStores.Add(storageConfig);
var cacheManagerData = new CacheManagerData(
"Cache Manager",
60,
1000,
10,
storageConfig.Name);
cacheSettings.CacheManagers.Add(cacheManagerData);
cacheSettings.DefaultCacheManager = "Cache Manager";
cacheSettings.DefaultCacheManager = cacheManagerData.Name;
EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);
编辑:请注意,我已经在 .NET Framework 上为企业库使用了这种代码,但我想它在 .Net 核心上应该是相同的。