кэширование на запрос в ASP.NET? - PullRequest
2 голосов
/ 23 декабря 2009

Я использую как IBatis.NET, так и Spring.NET в проекте на работе, и я хотел бы выяснить, могу ли я использовать обе инфраструктуры для достижения "кэширования по запросу" для всех вызовов в моем DAL слой. Другими словами, каждый раз, когда HTTP-запрос обслуживается ASP.NET, я хотел бы сначала вызвать метод DAL для попадания в удаленную БД, но все последующие вызовы должны быть завышены из кэша.

Я видел несколько статей , описывающих способ достижения этого с помощью HttpContext.Current, но я не могу придумать идею загрязнения слоя DAL ссылками System.Web. Я также хотел бы использовать эти рамки, если это возможно, поскольку я не люблю заново изобретать колесо.

1 Ответ

2 голосов
/ 24 декабря 2009

Я не эксперт по IBatis.NET и интеграции с Spring.NET, скорее всего, больше не хватает, но здесь идет ..

Я бы создал собственную реализацию ICache, которая использует HttpContext.Current.Items. Затем я бы сделал объекты уровня DAL проксированными с помощью Spring.NET AOP (они находятся за интерфейсами, не так ли?). Тогда это просто вопрос применения рекомендаций кеша с использованием AOP Framework.

Вы должны быть в состоянии сделать это, следуя документации Spring.NET о кэшировании AOP и реализуя ICache, используя в качестве отправной точки реализацию кэширования ASP.NET в Spring.NET.

...