在任务工厂内分配httpcontext.current是正确的吗?



i在方法工厂内被称为httpcontext.current作为null。因此,我将HTTPContext.Current分配给CurrentContext变量。然后,我使用相同的变量来分配httpcontext.current。

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

现在毫无问题地工作正常。请让我知道我的代码在技术上是否有任何问题。还是有其他方法可以解决此问题?

最后,我基于评论,

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

它运行良好!

最新更新