How do I access HttpContext.Current in Task.Factory.StartNew?

.net, asp.net, asp.net-4.0, c#, c#-4.0

Solution

`Task.Factory.Start` will fire up a new `Thread` and because the `HttpContext.Context` is local to a thread it won't be automaticly copied to the new `Thread`, so you need to pass it by hand:

var task = Task.Factory.StartNew(
    state =>
        {
            var context = (HttpContext) state;
            //use context
        },
    HttpContext.Current);

Problem

I want to access HttpContext.Current in my asp.net application within ``` Task.Factory.Start(() =>{ //HttpContext.Current is null here }); ``` How can I fix this error?

Original source

Related problems