Уровень кэширования ASP.NET и уровень бизнес-логики
Я ищу несколько полезных советов о том, как уровень кэширования в проекте ASP.NET должен работать со слоем бизнес-логики. В частности, должен ли уровень кэширования обрабатывать только кэшируемые / кэшируемые объекты и передавать другие функции напрямую в BLL, или слой кэширования почти занимает место BLL и оставляет это просто мостом между уровнем кэширования и DAL?
Хорошим примером этого и того, что заставляет меня чесать голову, является функциональность корзины на веб-сайте электронной коммерции. Слой предварительного кэширования, элементы были добавлены в корзину через BLL в DAL. В BLL есть много логики для проверки типов элементов и т. Д. Должен ли теперь уровень кэширования взять на себя ответственность за часть этой логики или просто собрать информацию из кэша и передать все это в BLL?
Буду признателен за чью-либо помощь в этом.
1 ответ
Все зависит от того, что вы кешируете. Если я правильно понял ваш вопрос, кеширование в вашем сценарии займет место вашего источника данных; это не заменяет вашу бизнес-логику или другие уровни. В примере с вашей корзиной покупок, когда вы помещаете предметы в корзину, вы кешируете их, чтобы вам не приходилось часто получать их из постоянного хранилища. Однако, если у вас есть логика, которая должна часто проверять элементы, то вы все равно делаете это, но проверяя элементы в кэшированной корзине.