Корпоративная библиотека CacheFactory.GetCacheManager выдает нулевую ссылку

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

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

Ответов (1)

Решение

Похоже, это была конфигурация. Я нашел здесь хороший пример обычного однофайлового подхода: 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 = "Диспетчер кеша по умолчанию">
    <backingStores>
        <add name = "inMemory" type = "Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching" />
    </backingStores>
    <cacheManager>
        <add name = "Диспетчер кэша по умолчанию" expirationPollFrequencyInSeconds = "60" maximumElementsInCacheBeforeScavenging = "50" numberToRemoveWhenScavenging = "10" backingStoreName = "inMemory" />
    </cacheManagers>
</cachingConfiguration>

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