[Mono-dev] WCF Fail with System.Net.Sockets.SocketException: Connection reset by peer

shahbour shahbour at gmail.com
Wed Jun 27 17:02:32 UTC 2012


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 

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


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


--
View this message in context: http://mono.1490590.n4.nabble.com/WCF-Fail-with-System-Net-Sockets-SocketException-Connection-reset-by-peer-tp4650173p4650210.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20120627/6b3ab076/attachment.html>


More information about the Mono-devel-list mailing list