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
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 the Cache is through the static property System.Web.HttpRuntime.Cache. This will avoid the problems with the HttpContext.
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 referencing HttpContext.Current.Cache.
Also, please post the complete exception you're receiving, and show us the code that references the cache.