Sunday, May 1, 2011

Very Strange disconnect issue with WCF and winforms

Hi & Thanks for checking out this post,

I am having a major issue in a production application that has been running for about 2+ years.  I'm using two WinForm applications to produce a client/server suite that uses WCF to do all communication.

The server apps its on a 16 core beast of machine that also hosts an instance of SQL server.  Very simply, the server takes data from the SQL database and a few other outside sources and distributes it to all the attached clients.  The clients (up to 12 clients are connected at once) attach to the server via a private network (no firewalls or anything of that nature involved) using a CustomBinding to send/receive data. 

Recently, I cleaned up a bunch of extraneous data in the database, did some query optimization, and fixed some indexing to increase performance.  This ended up speeding up my server application, which is what I was going for.  However, after 2+ years of this application running with no weird disconnects, ONE of the client computers started disconnecting from the server.  The problem persisted over the next few days.  Every day the user would come in, and somewhere between 3-4 hours of using the application, the client would mysteriously and silently disconnect.  It is the same user.....every day!

I decided to implement the trace listener with the switch flags set to "Verbose, Information, ActivityTracing" on the server.  When I enabled logging, the client stopped disconnecting.  It seems when I sped up the application by removing the clutter from the database, the problem began.  When I slowed down the application by enabling the trace listener, it re-appeared. 

Finally I set up some less expensive tracing (set the switch to "Error, Warning") and got this message on the server when the error occured:

System.ServiceModel Error: 131075 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Error"><TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Diagnostics.ThrowingException.aspx</TraceIdentifier><Description>Throwing an exception.</Description><AppDomain>GEMSoft Position Server.exe</AppDomain><Exception><ExceptionType>System.ServiceModel.CommunicationException, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '10675199.02:48:05.4775807'.</Message><StackTrace>   at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)

Can anyone provide me some possible reasons that this is happening?  I'll entertain ANY hypothesis!  Please let me know if you need any more information.

Thanks,

SH

 

 

Source: http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/6fd1c7be-894a-4c29-b91b-5e12a8e7b84f

golf course architecture architecture schools in florida google architecture program web services architecture modern architecture

No comments:

Post a Comment