Как использовать кэширование на этапе запуска приложения? - PullRequest
1 голос
/ 18 сентября 2011

Я действительно запутался в использовании кеширования. В ASP.NET Cache объект кэша является глобальным, так что, насколько я понимаю, мы можем достичь его везде. Но когда я посмотрел на блок приложения кеширования, как я могу использовать кеш, который я создал на этапе application_start. Какова стратегия использования кэша, который я создал в application_start?

Заранее спасибо,

1 Ответ

1 голос
/ 19 сентября 2011

Как только вы создали правильный фрагмент конфигурации для своего блока кэширования и добавили в web.config приложения ASP.NET, вы можете добавлять элементы в кеш точно так же, как и в любом месте приложения asp.net.Аналогично, из бизнес-уровня или уровня службы, который использует тот же фрагмент конфигурации в своем app.config или web.config, вы сможете получить элементы из кэша.

Это хорошо объяснено здесь: ИзучениеКэширование: Использование Caching Application Enterprise Library 4.1

, поэтому попробуйте создать и использовать ICacheManager, например, так:

//Create Instance of CacheManager 
ICacheManager objCacheManager = CacheFactory.GetCacheManager();    

//Add a new CacheItem to Cache
objCacheManager.Add("YourKey", yourObject);

затем из другого проекта или веб-службы, запущеннойна этом IIS, но в качестве другого приложения, если web.config содержит тот же фрагмент для настройки кэширования, используйте это:

//Create Instance of CacheManager 
ICacheManager objCacheManager = CacheFactory.GetCacheManager();

// Check If Key is in Cache Collection
if(objCacheManager.Contains("YourKey"))
{
  var myObject = objCacheManager.GetData("YourKey");
}

, вы должны представить, что в архитектуре приложения это ниже на уровне,если вы загружаете данные из базы данных через Business Logic, я полагаю, что часть BL извлечет из базы данных и добавит в кэш, а в следующем запросе проверит, существует ли она в кэше, и если нет, снова загрузится из базы данных.

Для примера фрагмента конфигурации проверьте ссылку, которую я упомянул выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...