簡體   English   中英

客戶端斷開連接

[英]The client disconnected

我在WebAPI的日志中遇到以下錯誤

System.Web.HttpException(0x800703E3):客戶端已斷開連接。 在System.Web.Hosting.Tasks.TaskFactory的System.Web.HttpBufferlessInputStream.EndRead(IAsyncResult asyncResult)的System.Web.Hosting.IIS7WorkerRequest.EndRead(IAsyncResult asyncResult)處1.FromAsyncTrimPromise 1.Complete(TInstance thisRef,Func 3 endMethod,IAsyncResult asyncResult ,布爾值requireSynchronization)-從上一個引發異常的位置開始的堆棧跟蹤-在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task任務) System.IO.StreamReader.d__97.MoveNext()-從上一個引發異常的位置開始的堆棧跟蹤結束--在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)在System.Runtime.CompilerServices.TaskAwaiter System.IO.StreamReader.d__62.MoveNext()上的.HandleNonSuccessAndDebuggerNotification(任務任務)-從上一個引發異常的位置開始的堆棧跟蹤結束-在System.Runtime System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task任務)處的.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務),Microsoft.Owin.OwinRequest.d__0.MoveNext()-從上一個引發異常的位置開始的堆棧跟蹤-在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)在Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerHandler.d__22.MoveNext()-從上一個引發異常的位置開始的堆棧跟蹤--在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)在Microsoft.Owin.Security.OAuth .OAuthAuthorizationServerHandler.d__0.MoveNext()---從上一個引發異常的位置開始的堆棧跟蹤---位於System.Runtime.CompilerServices.TaskAwaiter.Throw Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware 1.d__0.MoveNext()處的ForNonSuccess(任務任務),位於System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務),位於-從引發異常的先前位置結束的堆棧跟蹤--在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)在Web.API.Middleware.OwinMiddleware.d__1.MoveNext()在D:\\ UAT \\ Web.API \\ Middleware \\ OwinMiddleware.cs:第49行

如何通過異常過濾器處理和忽略這些異常? 為什么會發生此錯誤,我該如何重現? 我只想捕獲並忽略The client disconnected但不是所有HttpException

我看到了類似的問題,但是如何在異常過濾器中做到這一點?

您可以忽略這些異常。

異常說明了問題所在:“客戶端已斷開連接”。 這意味着客戶端發起了一個請求,但是在斷開連接讀取所有響應之前就斷開了連接。

有多種原因可能會導致這種情況,但是(除非您的服務器端互聯網連接不穩定),這幾乎肯定是客戶端的問題。 我經常自己看到這些東西,而且大多數情況下似乎與機器人有關。 因此,我將它們過濾掉並忽略它們。

try
{
   // Open Connection
   // Do stuff
}
catch (HttpException  ex)
{
   // Log it?
   // Ignore it? 
   // Do what you want with it?
}
finally
{
   // Close connection
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM