我在任务工厂内部调用的方法中将HttpContext.Current作为null。所以我将HttpContext.Current分配给currentContext变量。然后我使用相同的变量来分配HttpContext.Current。
var currentContext = HttpContext.Current;
Task shipmentCreationCompleted = Task.Factory.StartNew(() =>
{
HttpContext.Current = currentContext;
MethodToPerformSomeAction();
});
它现在正常运行没有任何问题。如果我的代码在技术上有任何问题,请告诉我。或者有没有其他方法来处理这个问题?
答案 0 :(得分:3)
最后我根据评论使用了这个,
Task shipmentCreationCompleted = Task.Factory.StartNew(currentContext =>
{
HttpContext.Current = (HttpContext)currentContext;
MethodToPerformSomeAction();
}, HttpContext.Current);
效果很好!