我正在尝试调用需要从服务器读取文件的异步方法。只要方法是异步的,HttpContext.Current
就变为空。如果我称它为正常,它可以正常工作。我该如何解决这个问题?
我的代码是:
System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath(path))
答案 0 :(得分:3)
要调用的正确类是HostingEnvironment.MapPath(path);
感谢小费bvs。
答案 1 :(得分:1)
改为使用HostedEnvironment.MapPath:
System.IO.File.ReadAllText(HostedEnvironment.MapPath(path))
答案 2 :(得分:0)
此处 - http://blogs.msdn.com/b/webdev/archive/2012/11/19/all-about-httpruntime-targetframework.aspx - 是关于与async / await一起使用的HttpContext的文档。
简而言之,你需要做两件事之一:
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />