企业库CacheFactory.GetCacheManager抛出空引用

时间:2008-08-12 19:01:17

标签: c# configuration enterprise-library

我正在尝试将使用1.1版企业库缓存块的应用程序转换为2.0版本。我认为我真正遇到的问题是,不同EntLib部件的配置被拆分为多个文件。显然,这曾经由 ConfigurationManagerSectionHandler 处理,但现在已过时,支持.NET 2.0中的内置配置机制。

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

1 个答案:

答案 0 :(得分:3)

看起来是配置。我在这里找到了正常的单文件方法的一个很好的例子:http://www.devx.com/dotnet/Article/31158/0/page/2

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

在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>

希望这有助于某人!