gpt4 book ai didi

c# - 有一个待处理的异步操作,并且只能同时处理一个异步操作

转载 作者:行者123 更新时间:2023-12-01 22:38:19 24 4
gpt4 key购买 nike

在我的开发机器上运行它时没有任何问题,效果很好。当部署到我的服务器时,我总是收到错误。

System.IO.IOException: Error reading MIME multipart body part. ---> System.InvalidOperationException: There is a pending asynchronous operation, and only one asynchronous operation can be pending concurrently. at System.Web.Hosting.IIS7WorkerRequest.BeginRead(Byte[] buffer, Int32 offset, Int32 count, AsyncCallback callback, Object state)

我正在尝试上传图像。当我在本地计算机上运行它时,没有错误并且文件确实被上传。

        public async Task<HttpResponseMessage> PostFile(int TaskID)
{
// Check if the request contains multipart/form-data.
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}

try
{
StringBuilder sb = new StringBuilder(); // Holds the response body
string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);

//// Read the form data and return an async task.
await Request.Content.ReadAsMultipartAsync(provider);

错误发生在以await 开头的代码的最后一行。

最佳答案

需要添加以下代码行。

Request.Content.LoadIntoBufferAsync().Wait();

这是在出错的行之前添加的。

现在看起来像这样。

            var provider = new MultipartFormDataStreamProvider(root);

Request.Content.LoadIntoBufferAsync().Wait();

//// Read the form data and return an async task.
await Request.Content.ReadAsMultipartAsync(provider);

关于c# - 有一个待处理的异步操作,并且只能同时处理一个异步操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27381034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com