本文介绍了如何在 Task.Factory.StartNew 中访问 HttpContext.Current?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在我的 asp 应用程序中访问 HttpContext.Current
I want to access HttpContext.Current in my asp application within
Task.Factory.Start(() =>{ //HttpContext.Current is null here });我该如何解决这个错误?
How can I fix this error?
推荐答案Task.Factory.Start 将启动一个新的 Thread 并且因为 HttpContext.Context 是线程本地的,它不会自动复制到新的 Thread 中,因此您需要手动传递它:
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);更多推荐
如何在 Task.Factory.StartNew 中访问 HttpContext.Current?
发布评论