<h4>Hello

After more testing between Mac and Windows this is what i got

Crash                                   Windows Mac     Linux
Without ErroHandler                     No              Yes     Yes
With ErrorHandler (return false )       No              Yes     Yes
With ErrorHandler (return true) No              No      No


Before i was always returning false in IErrorHandler implementation because i only implemented for logging purpose but when i return true for the HandleError , the application fire the error and log it but never crash.

Now i trying to debug the application under MonoDevelop and repreduce the error, below is what i got 

<h6>System.InvalidOperationException: Cannot be changed after headers are sent.
  at System.Net.HttpListenerResponse.set_ContentType (System.String value) [0x00027] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System/System.Net/HttpListenerResponse.cs:107
  at System.ServiceModel.Channels.Http.HttpStandaloneResponseInfo.set_ContentType (System.String value) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System.ServiceModel/System.ServiceModel.Channels.Http/HttpContextInfo.cs:274
  at System.ServiceModel.Channels.Http.HttpRequestContext.InternalReply (System.ServiceModel.Channels.Message msg, TimeSpan timeout) [0x00046] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System.ServiceModel/System.ServiceModel.Channels.Http/HttpRequestContext.cs:140
  at System.ServiceModel.Channels.Http.HttpRequestContext.Reply (System.ServiceModel.Channels.Message msg, TimeSpan timeout) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System.ServiceModel/System.ServiceModel.Channels.Http/HttpRequestContext.cs:101
  at System.ServiceModel.Channels.Http.HttpRequestContext.Reply (System.ServiceModel.Channels.Message msg) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System.ServiceModel/System.ServiceModel.Channels.Http/HttpRequestContext.cs:96
  at System.ServiceModel.Dispatcher.ListenerLoopManager.ProcessRequest (IReplyChannel reply, System.ServiceModel.Channels.RequestContext rc) [0x0003b] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs:601
  at System.ServiceModel.Dispatcher.ListenerLoopManager.TryReceiveRequestDone (IAsyncResult result) [0x0001a] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs:575</h6>

Reproducing the error is very simple, just host any application under console app and in any service function put Thread.Sleep(..) to give you time to close the browser before it reply. Then call this function from any client and close it before getting the response.

In my live program i don't put Thread.sleep it is only to give us time between calling the function and closing the browser.

Under windows we got the bellow that don't crash the application

error.Message   "An operation was attempted on a nonexistent network connection"
error.InnerException    {"An operation was attempted on a nonexistent network connection"}    System.Exception {System.Net.HttpListenerException}
error.ErrorCode         1229

BR
Shahbour

        
<br/><hr align="left" width="300" />
View this message in context: <a href="http://mono.1490590.n4.nabble.com/WCF-Fail-with-System-Net-Sockets-SocketException-Connection-reset-by-peer-tp4650173p4650210.html">Re: WCF Fail with System.Net.Sockets.SocketException: Connection reset by peer</a><br/>
Sent from the <a href="http://mono.1490590.n4.nabble.com/Mono-Dev-f1517221.html">Mono - Dev mailing list archive</a> at Nabble.com.<br/>