C# 企业库CacheFactory.GetCacheManager抛出Null Ref

C# 企业库CacheFactory.GetCacheManager抛出Null Ref,c#,configuration,enterprise-library,C#,Configuration,Enterprise Library,我正在尝试将使用1.1版本的企业库缓存块的应用程序转换为2.0版本。我认为我真正遇到的问题是,不同EntLib片段的配置被分割成几个文件。显然,这过去是由ConfigurationManagerSectionHandler处理的,但现在已经过时,取而代之的是.NET 2.0中的内置配置机制 我很难找到一个很好的例子来说明如何进行配置文件拆分,尤其是在EntLib的上下文中。还有其他人处理过这个问题吗?看起来是配置问题。我在这里找到了一个正常的单文件方法的好例子: 一旦你弄清楚了外部配置文件的语法

我正在尝试将使用1.1版本的企业库缓存块的应用程序转换为2.0版本。我认为我真正遇到的问题是,不同EntLib片段的配置被分割成几个文件。显然,这过去是由ConfigurationManagerSectionHandler处理的,但现在已经过时,取而代之的是.NET 2.0中的内置配置机制


我很难找到一个很好的例子来说明如何进行配置文件拆分,尤其是在EntLib的上下文中。还有其他人处理过这个问题吗?

看起来是配置问题。我在这里找到了一个正常的单文件方法的好例子:

一旦你弄清楚了外部配置文件的语法,使用它实际上是微不足道的。例:

在Web.config中:

<cachingConfiguration configSource="cachingconfiguration.config" /> 在cachingconfiguration.config中:

<?xml version="1.0" encoding="utf-8"?> <cachingConfiguration defaultCacheManager="Default Cache Manager"> <backingStores> <add name="inMemory" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching" /> </backingStores> <cacheManagers> <add name="Default Cache Manager" expirationPollFrequencyInSeconds = "60" maximumElementsInCacheBeforeScavenging ="50" numberToRemoveWhenScavenging="10" backingStoreName="inMemory" /> </cacheManagers> </cachingConfiguration> 希望这对某人有帮助