在任务工厂内分配HttpContext.Current是否正确?

时间:2016-12-20 06:01:31

标签: c#

我在任务工厂内部调用的方法中将HttpContext.Current作为null。所以我将HttpContext.Current分配给currentContext变量。然后我使用相同的变量来分配HttpContext.Current。

    var currentContext = HttpContext.Current;
    Task shipmentCreationCompleted = Task.Factory.StartNew(() =>
    {
        HttpContext.Current = currentContext;
        MethodToPerformSomeAction();
    });

它现在正常运行没有任何问题。如果我的代码在技术上有任何问题,请告诉我。或者有没有其他方法来处理这个问题?

1 个答案:

答案 0 :(得分:3)

最后我根据评论使用了这个,

Task shipmentCreationCompleted = Task.Factory.StartNew(currentContext =>
    {
        HttpContext.Current = (HttpContext)currentContext;
        MethodToPerformSomeAction();
    }, HttpContext.Current);

效果很好!