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