asp.net 异步(async/await)中访问HttpContext的问题
以web api上传文件的官方例子为例:
await Request.Content.ReadAsMultipartAsync(provider);
项目里面多处用到session,包括在其他类库中通过HttpContext获取Session对象,在await之后,直接访问Session均为空了。
怎么办,文件得上传啊。
网络搜索无果,后来发现HttpContext竟然支持Set方法,那么在await之前存储HttpContext的引用,在await之后将引用再赋给HttpContext,这样似乎就通了。
测试后通过,完美运行。
var context = System.Web.HttpContext.Current; await Request.Content.ReadAsMultipartAsync(provider); System.Web.HttpContext.Current = context;