我一直在阅读网络和StackOverflow上的ASP.NET WebAPI文件上传。
我见过的所有问题(直接或间接)都是the MSDN article example with the async upload。
这是处理文件上传的事实上的方法吗?上传到WebAPI的文件必须使用Task<>
和async
吗?
答案 0 :(得分:2)
一位朋友刚问我这个问题,我相信简短的回答是肯定的......有警告。
相关API由https://msdn.microsoft.com/en-us/library/system.net.http.httpcontentmultipartextensions(v=vs.118).aspx上定义的扩展方法提供。我一直在寻找这些方法的同步版本,但无济于事。
显然ReadAsMultipartAsync<T>
的返回值是Task<T>
,您可以在其上调用Wait()
来强制同步。然后,您可以省略控制器中方法声明的异步。
我还没有尝试过,所以也许它有效,也许它没有 - 虽然没有明显的理由为什么它不会。
我想我应该问的问题是,为什么你想要实现同步上传,因为MS正在努力迫使开发人员停止异步路由? (并非在所有情况下这都是好的或适当的。)