簡體   English   中英

WCF服務呼叫中的“線程被中止”

[英]“Thread was being aborted” in WCF Service Call

在我的程序中,有一個包含wcf客戶端的aspx頁面,因此調用位於同一服務器上的wcf服務。

當我的wcf客戶端調用生產服務器上的IIS中托管的wcf服務時,我將收到此異常。

例如 msg: Thread was being aborted.

防爆堆疊:

在System.Net.Sockets.Socket.Receive(Byte []緩沖區,Int32偏移量,Int32大小,SocketFlags socketFlags,SocketError& System.Net.Sockets.NetworkStream.Read(Byte []緩沖區,Int32偏移,Int32大小)上的errorCode)System.Net.Connection.System.Net.PooledStream.Read(Byte []緩沖區,Int32偏移量,Int32大小) System.Net.ConnectStream.ProcessWriteCallDone(ConnectionReturnResult returnResult)處的System.Net.ConnectStream.CallDone(ConnectionReturnResult returnResult)處的.SyncRead(HttpWebRequest請求,Boolean userRetrievedStream,Boolean probeRead) )在System.Net.HttpWebRequest.WriteHeadersCallback(WebExceptionStatus errorStatus,ConnectStream流,布爾異步)在System.Net.HttpWebRequest.EndWriteHeaders(Boolean異步)在System.Net.HttpWebRequest.EndWriteHeaders_Part2() ystem.Net.ConnectStream.WriteHeaders(布爾型異步)處於System.Net.HttpWebRequest.EndSubmitRequest()處於System.Net.HttpWebRequest.GetResponse()處於System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan超時) System.ServiceModel.Dispatcher.RequestChannelBinder.Request(消息,TimeSpan超時)在System.ServiceModel.Channels.ServiceChannel.Call(字符串操作,布爾單向,在System.ServiceModel.Dispatcher.RequestChannelBinder.Request(消息,TimeSpan超時) ProxyOperationRuntime操作,系統處System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作)在System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage消息)處進行Object [] ins,Object [] outs,TimeSpan超時。 StationS.StationService.IStationService.GetCurrentStationTrack(String stationId)上的Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32類型) ervice.StationServiceClient.GetCurrentStationTrack(String stationId)在GetSongJS.getMarq(字符串radioIdentifier)

我使用PRTG Ipmonitor,它在“請求電流”傳感器上給我太多請求。 我的網站在瀏覽器中可用。 如果刪除此頁面以致電服務人員,一切都會正常。

聽起來您好像沒有關閉WCF客戶端。

我認為正在發生的是:

  • 用戶調用aspx頁面
  • aspx頁面調用服務
  • aspx頁面返回給用戶
  • 服務客戶端未關閉,因此請求處於打開狀態,當前請求數量很高
  • 最終,您打開了最大數量的請求
  • 頁面等待一個免費連接,當它沒有得到一個aspx頁面超時時
  • 然后,您會從超時中獲得線程中止異常

客戶端代理調用后是否有Response.Redirect(url)調用? 單參數重載將終止當前線程,這會導致許多此類錯誤顯示在日志中。 有時頁面已完成工作,但沒有發生,但是切換到另一個繁忙的環境通常是一個觸發因素。

暫無
暫無

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

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