troubleshooting Question

How can I have a cache of objects per request only?

Avatar of JimR123b
JimR123bFlag for United Kingdom of Great Britain and Northern Ireland asked on
.NET ProgrammingASP.NET
2 Comments1 Solution468 ViewsLast Modified:
I am developing an ASP.Net application using C#, under Visual Studio 2008.

I want to be able to keep a cache of certain objects, but I only want the cache to last per page request, so that each new page request goes and rebuilds the cache again.

I have two Projects in my Visual Studio Solution, one is the Asp.Net application, and the other is my "Data Layer", as such, which takes the form of a class library. The class library gets built as a DLL and referenced by the Asp.Net application.

I want to contain the object cache within the Data Layer class library (as the Data Layer needs to manipulate it, and the Asp.Net application does not), but the problem is that this class library seems to stay in memory, presumably because it's a DLL. This means that the object cache stays in memory, on-between page requests, which I don't want.

I figure there are the possible solutions, but I can't figure out how to write them in code...

1. Stop the DLL from staying in memory in-between page requests. This isn't ideal, as I'd probably like some things in the class library (such as a connection to a SQL Server) to stay in memory all the time.

2. Fire off an event before or after all page requests to clear the object cache. Maybe this could be done as an event hook in a Master Page, but it would be nice if there was a more global method of hooking into the beginning or end of all page requests.

3. ?

Can anybody please help me? I am willing to explore most suggestions, but this is quite a big project already so I may be restricted a little in what I can try.
ASKER CERTIFIED SOLUTION
JimR123b

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 2 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 2 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros