Корпоративная Библиотека CacheFactory.GetCacheManager Выбрасывает Null Ref


Я пытаюсь преобразовать приложение, использующее версию 1.1 блока кэширования библиотеки Enterprise Library, в версию 2.0. Я думаю, что у меня действительно есть проблема в том, что конфигурация для различных частей EntLib была разделена на несколько файлов. По-видимому, это раньше обрабатывалось с помощьюConfigurationManagerSectionHandler , но теперь устарело в пользу встроенных механизмов конфигурации в .NET 2.0.

Мне трудно найти хороший пример. о том, как сделать это разделение конфигурационных файлов, особенно в контексте EntLib. Кто-нибудь еще занимался этим?

1 5

1 ответ:

Похоже, что это была конфигурация. Я нашел хороший пример нормального, однофайлового подхода здесь: http://www.devx.com/dotnet/Article/31158/0/page/2

Использование внешнего конфигурационного файла на самом деле тривиально, как только вы определяете синтаксис для него. Экс.:

В Сети.конфигурация:

<cachingConfiguration configSource="cachingconfiguration.config" />

В cachingconfiguration.конфигурация:

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

Надеюсь, это кому-нибудь поможет!