I'm using both IBatis.NET and Spring.NET on a project at work and I'd like to figure out if I can leverage both/either frameworks to achieve "per-request caching" on all calls into my DAL layer. In other words, every time an HTTP request is served by ASP.NET, I would like first call into a DAL method to hit the remote DB, but all calls thereafter to be inflated from cache.
I've seen a few articles describe a way to achieve this using HttpContext.Current, but I can't stomach the idea of polluting my DAL layer with System.Web references. I'd also like to leverage these frameworks if at possible as I'm not fond of re-inventing the wheel.