0
我想知道是否有人知道,因爲正在發生的事情是:ReadAsMultipartAsync不工作
這不作品:
[AcceptVerbs("POST")]
public void AddFile()
{
if (!Request.Content.IsMimeMultipartContent("form-data"))
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
var streamProvider = new MultipartFormDataMemoryStreamProvider();
Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith(t =>
{
....
});
}
但是,這是否可行(是正確的解決方案?) :
[AcceptVerbs("POST")]
public Task AddFile()
{
if (!Request.Content.IsMimeMultipartContent("form-data"))
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
var streamProvider = new MultipartFormDataMemoryStreamProvider();
return Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith(t =>
{
....
});
}
混合ContinueWith和異步/等待導致的問題,只是做'等待Request.Content.ReadAsMultipartAsync( streamProvider);''.ContinueWith'中的所有內容都會像正常代碼那樣在'await'之後。 –
但我使用.NET 4.0,不能這樣做。我相信這只是更好的使用而已。 – Cristian18
如果返回適合你,那很好。否則,你可以看看這個包,它基本上增加了對.NET 4.0的異步/等待支持。www.nuget.org/packages/Microsoft.Bcl.Async –