CacheFactory корпоративной библиотеки.GetCacheManager Выдает нулевую ссылку
-
08-06-2019 - |
Вопрос
Я пытаюсь преобразовать приложение, использующее версию 1.1 блока кэширования корпоративной библиотеки, в версию 2.0.Я думаю, что у меня действительно возникла проблема в том, что конфигурация для разных частей EntLib была разделена на несколько файлов.По-видимому, раньше этим занимался Конфигурационный обработчик управляющих секций, но в настоящее время устарел в пользу встроенных механизмов настройки в .NET 2.0.
Мне трудно найти хороший пример того, как выполнить это разделение файла конфигурации, особенно в контексте EntLib.Кто-нибудь еще сталкивался с этим?
Решение
Похоже, дело было в конфигурации.Я нашел здесь хороший пример обычного подхода с одним файлом: 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>
Надеюсь, это кому-нибудь поможет!