C# 调用Web API时出现客户端断开连接错误
我有一个可以保存图像的活动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
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()