C# &引用;“线程正在中止”;在WCF服务呼叫中

C# &引用;“线程正在中止”;在WCF服务呼叫中,c#,asp.net,ajax,wcf,prtg,C#,Asp.net,Ajax,Wcf,Prtg,在我的程序中,有一个包含wcf客户机的aspx页面,它调用位于同一服务器上的wcf服务 当我的wcf客户端调用生产服务器上IIS中托管的wcf服务时,我会遇到此异常 示例消息:线程被中止。 堆栈外: 在System.Net.UnsafeNclNativeMethods.OSSOCK.recv(IntPtr socketHandle, 字节*pinnedBuffer,Int32 len,SocketFlags SocketFlags)位于 System.Net.Socket.Socket.Rece

在我的程序中,有一个包含wcf客户机的aspx页面,它调用位于同一服务器上的wcf服务

当我的wcf客户端调用生产服务器上IIS中托管的wcf服务时,我会遇到此异常

示例消息:
线程被中止。

堆栈外:

在System.Net.UnsafeNclNativeMethods.OSSOCK.recv(IntPtr socketHandle, 字节*pinnedBuffer,Int32 len,SocketFlags SocketFlags)位于 System.Net.Socket.Socket.Receive(字节[]缓冲区,Int32偏移量,Int32 尺寸、SocketFlags(SocketFlags、SocketError和errorCode) System.Net.Sockets.NetworkStream.Read(字节[]缓冲区,Int32偏移量, System.Net.PooledStream.Read(字节[]缓冲区,Int32 偏移量,Int32大小)在System.Net.Connection.SyncRead(HttpWebRequest)处 请求,布尔userRetrievedStream,布尔probeRead)位于 System.Net.ConnectStream.ProcessWriteCallDone(ConnectionReturnResult 返回结果)在 System.Net.ConnectStream.CallDone(ConnectionReturnResult) 在System.Net.ConnectStream.ResubmitWrite(ConnectStream oldStream, 布尔值(写入)在 System.Net.HttpWebRequest.EndWriteHeaders_Part2()位于 位于的System.Net.HttpWebRequest.EndWriteHeaders(布尔异步) System.Net.HttpWebRequest.WriteHeadersCallback(WebExceptionStatus 错误状态,连接流,布尔异步) System.Net.ConnectStream.WriteHeaders(布尔异步)位于 System.Net.HttpWebRequest.EndSubmitRequest()位于 System.Net.HttpWebRequest.GetResponse()位于 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan 超时)在 System.ServiceModel.Channels.RequestChannel.Request(消息, 时间跨度(超时)在 System.ServiceModel.Dispatcher.RequestChannelBinder.Request(消息 消息,TimeSpan超时)位于 System.ServiceModel.Channel.ServiceChannel.Call(字符串操作, 布尔单向,ProxyOperationRuntime操作,对象[]ins, 对象[]输出,TimeSpan超时)位于 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage 方法调用,ProxyOperationRuntime操作)在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 信息)在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32类型)at StationService.IStationService.GetCurrentStationTrack(字符串 stationId)在 StationService.StationServiceClient.GetCurrentStationTrack(字符串 stationId)位于GetSongJS.getMarq(字符串放射性标识符)

我使用PRTG Ipmonitor,它对“请求电流”传感器的请求太多。 我的网站在浏览器中变得可用。
如果删除此调用服务的页面,则一切正常。

在客户端代理调用后是否有
响应。重定向(url)
调用?单参数重载将终止当前线程,这将导致日志中显示许多此类错误。有时页面已经完成工作,但没有发生,但切换到另一个更繁忙的环境通常是一个触发因素。

听起来好像您没有关闭WCF客户端

我认为正在发生的是:

  • 用户调用aspx页面
  • aspx页面调用该服务
  • aspx页面返回给用户
  • 服务客户端未关闭,因此请求处于打开状态,当前请求数很高
  • 最终,您可以打开最大数量的请求
  • 当该页未获得可用连接时,该页将等待空闲连接超时
  • 然后,您将从超时中获得一个线程中止异常

否没有任何响应。在该页面中重定向(url)。有一个页面加载,它调用创建客户端代理的方法,然后调用它的方法并从他那里得到结果。