C# 调用Web API时出现客户端断开连接错误

C# 调用Web API时出现客户端断开连接错误,c#,.net,api,mime,C#,.net,Api,Mime,我有一个可以保存图像的活动API 它工作得很好 然而,有时也会有错误 以下是服务器代码: var appData = HostingEnvironment.MapPath("~/App_Data"); string dirname = Guid.NewGuid().ToString(); var folder = Path.Combine(appData, dirname); Directory.CreateDirectory(folder); var provider = new Multip

我有一个可以保存图像的活动API

它工作得很好

然而,有时也会有错误

以下是服务器代码:

var appData = HostingEnvironment.MapPath("~/App_Data");
string dirname = Guid.NewGuid().ToString();
var folder = Path.Combine(appData, dirname);
Directory.CreateDirectory(folder);
var provider = new MultipartFormDataStreamProvider(folder);
var result = await Request.Content.ReadAsMultipartAsync(provider);
var type = result.FileData
                    .First()
                    .Headers
                    .ToList()
                    .First()
                    .Value
                    .First()
                    .Split(';')[2]
                    .Split('=')[1]
                    .Replace("\"", "")
                    .Split('.')[1];
if (result.FileData.Count < 1)
{
 // ...
}            
string name = result.FileData.First().LocalFileName;

可能是客户端在请求完成之前断开了连接。有没有办法检测到该事件?
Error reading MIME multipart body part. | 
System.Web.HttpException (0x800703E3): The client disconnected. 
    at System.Web.Hosting.IIS7WorkerRequest.EndRead(IAsyncResult asyncResult) at
    System.Web.HttpBufferlessInputStream.EndRead(IAsyncResult asyncResult) at
    System.IO.Stream.b__e(Stream stream, IAsyncResult asyncResult) at
    System.Threading.Tasks.TaskFactory`1.FromAsyncTrimPromise`1.Complete(TInstance thisRef, Func`3 endMethod, IAsyncResult asyncResult, Boolean requiresSynchronization) --- End of stack trace from previous location where exception was thrown --- at
    System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at
    System.Web.Http.WebHost.SeekableBufferedRequestStream.d__0.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at 
    System.Net.Http.HttpContentMultipartExtensions.d__8.MoveNext()