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