Normally i have a static class that reads and writes to HttpContext.Current.Cache
However since adding threading to my project, the threads all get null reference exceptions when trying to retrieve this object.
Is there any other way i can access it, workarounds or another cache i can use?
If your project is an ASP.NET project, then it was multithreaded even before you "added threading".
Check to see if
HttpContext.Current
is non-null before referencingHttpContext.Current.Cache
.Also, please post the complete exception you're receiving, and show us the code that references the cache.
The
System.Web.Cache
object itself is thread safe.The issue is how to obtain a reference to it in a way that works throughout your application.
HttpContext.Current
returns null unless it is called on a thread that is handling an ASP.NET request. An alternative way to get theCache
is through the static propertySystem.Web.HttpRuntime.Cache
. This will avoid the problems with theHttpContext
.