tags:

views:

28

answers:

2

In my program there is a aspx page that contains wcf client, that so on calls wcf service located on same server.

I`v get this exception when my wcf client calls wcf service hosted in IIS on production server.

Ex. msg: Thread was being aborted.

Ex stack: at System.Net.UnsafeNclNativeMethods.OSSOCK.recv(IntPtr socketHandle, Byte* pinnedBuffer, Int32 len, SocketFlags socketFlags) at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, SocketError& errorCode) at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead) at System.Net.ConnectStream.ProcessWriteCallDone(ConnectionReturnResult returnResult) at System.Net.ConnectStream.CallDone(ConnectionReturnResult returnResult) at System.Net.ConnectStream.ResubmitWrite(ConnectStream oldStream, Boolean suppressWrite) at System.Net.HttpWebRequest.EndWriteHeaders_Part2() at System.Net.HttpWebRequest.EndWriteHeaders(Boolean async) at System.Net.HttpWebRequest.WriteHeadersCallback(WebExceptionStatus errorStatus, ConnectStream stream, Boolean async) at System.Net.ConnectStream.WriteHeaders(Boolean async) at System.Net.HttpWebRequest.EndSubmitRequest() at System.Net.HttpWebRequest.GetResponse() at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at StationService.IStationService.GetCurrentStationTrack(String stationId) at StationService.StationServiceClient.GetCurrentStationTrack(String stationId) at GetSongJS.getMarq(String radioIdentifier)

I using PRTG Ipmonitor and it give me too many requests on "Requests Current" sensor. My site become anavailable in browser. If a delete this page that calls service all is gona be OK.

A: 

Is there a Response.Redirect(url) call after the client proxy makes its call? The single argument overload will terminate the current thread which leads to many of these types of errors showing up in logs. Sometimes the page has finished working and it doesn't happen, but switching to another busier environment is often a trigger.

x0n
No there is not any Response.Redirect(url) in that page. There are just Page_Load which calls methos that creats client proxy, then calls its method and get result from him.
igor
A: 

It sounds like you are not closing the WCF client.

What I think is happening is:

  • User calls the aspx page
  • aspx page calls the service
  • aspx page returns to the user
  • the service client is not closed, therefore request is open and current requests is high
  • eventually the aspx page timesout
  • you get a thread abort exception from the timeout
Shiraz Bhaiji