我正在修改一些代码来执行 XYZ 等,并且遇到了问题。
WebAPI 方法
public async Task<FileUploadResult> PostFile([FromUri]int width)
{
// Right here the HTTPContext.Current == null;
... Some code here
await Request.Content.ReadAsMultipartAsync(streamProvider);
}
我已经查看并看到此行将恢复您的 HttpContext.Current
add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"
所以我添加了上面的设置,它返回了 HttpContext.Current。据我所知,我可以从 HttpContext.Current.Cache 和 HttpRuntime.Cache 访问(读取).Cache 对象。
但是,由于某种原因,我无法成功写入缓存。
我的代码没有抛出异常,但是当我尝试读取缓存时它根本不存在。
我的代码在其他任何地方都运行良好,只是不在异步 Web api 调用中。
缓存代码
private Cache sysCache = HttpContext.Current.Cache;
// also treid private Cache sysCache = HttpRuntime.Cache
sysCache.Insert(fileToCache.ToMD5HashString(),
fileToCache,
null,
Cache.NoAbsoluteExpiration,
new TimeSpan(0, 0, 5, 0));
对此问题的任何帮助将不胜感激。
提前致谢。