Библиотека предприятия CacheFactory.GetCacheManager выбрасывает нулевой реф - PullRequest
5 голосов
/ 12 августа 2008

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

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

1 Ответ

3 голосов
/ 13 августа 2008

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

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

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

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

...