HttpContext.Current為空匯總

1. async異步模式下為空

解决办法:

<httpRuntime targetFramework="4.5" />

或者:

In your appSettings, set aspnet:UseTaskFriendlySynchronizationContext to true.

2. 在非Http请求线程中使用为空

示例代码——将主线程的HttpContext传递进去:

var httpContext = HttpContext.Current;

TaskWithDuration = new Task<long>(() =>
{
    var sw = new Stopwatch();
    sw.Start();

    HttpContext.Current = httpContext;

    action();

    sw.Stop();

    return sw.ElapsedMilliseconds;
});

REF:

[HttpContext.Current并非无处不在] http://www.cnblogs.com/fish-li/archive/2013/04/06/3002940.html

原文地址:https://www.cnblogs.com/pengzhen/p/7514525.html