具有Async / Await关键字的WebRole未在Azure上运行

时间:2013-10-29 06:32:24

标签: c# azure async-await azure-web-roles

我正在使用以下代码从http请求中读取文件。

var streamProvider = new MultipartMemoryStreamProvider();
streamProvider = await Request.Content.ReadAsMultipartAsync(streamProvider);   

我正在使用.net 4.0。对于 async / await 关键字,我安装了 Microsoft.Bcl.Async NuGet包。这在我的本地计算机上工作正常。但是当我尝试将软件包上传到azure时,webrole无法运行。

2 个答案:

答案 0 :(得分:5)

抱歉,这不起作用。您不能在ASP.NET上使用Microsoft.Bcl.Async包(包括Web角色)。这是因为ASP.NET needed some rewriting of some core types in order to support async/await,而你没有使用NuGet包。

在ASP.NET上,必须定位.NET 4.5才能使用async / await

答案 1 :(得分:1)

感谢大家的回复。我没有 Microsoft.Bcl.Async ,而是使用 AsyncBridge 作为 async / await 关键字,现在它可以在本地以及在azure服务器上运行