<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Re : The stacktrace below...<br>
      <br>
      This occurs when an exception is raised in ChannelDispatcher.cs on
      line 601.  It tries to send back an exception message to the
      client here, i believe.  But when it does that, it uses the
      existing RequestContext.  <br>
      <br>
      It's apparent that some data is apparently being sent, such as
      headers, on the RequestContext (rc) before we get to this
      exception.<br>
      <br>
      If we're dealing with the case of SocketException, which caused us
      to fail mid-send on the RequestContext, perhaps, again, we
      shouldn't handle this like every other exception and not reply. 
      i.e. in the exception handler here, if exception is
      typeof(SocketException) don't reply, what might be more
      interesting, if this is reproducable, would be to - as debugging -
      print the exception message and/or stacktrace to the screen to see
      what exception caused this.<br>
      <br>
      Did you file a bug report on this?  The discussion on this
      particular issue (or any particular bug) is probably better stored
      in the bug report comments than on the whole mailing list.  PLus
      comments like the above would stay in the bug report rather than
      get lost in the list.  IF you file a bug report, post a link to
      the bug report in this thread (the bug # should be enough).<br>
      <br>
      -Rob<br>
      <br>
      <br>
      On 06/27/2012 01:02 PM, shahbour wrote:<br>
    </div>
    <blockquote cite="mid:1340816552773-4650210.post@n4.nabble.com"
      type="cite">
      <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 </h4>
      <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</h6>
    </blockquote>
    <br>
    <blockquote cite="mid:1340816552773-4650210.post@n4.nabble.com"
      type="cite">
      <h6>/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 :q</blockquote>
    <blockquote cite="mid:1340816552773-4650210.post@n4.nabble.com"
      type="cite">{System.Net.HttpListenerException}
      error.ErrorCode 1229
      BR
      Shahbour <br>
      <hr align="left" width="300">
      View this message in context: <a moz-do-not-send="true"
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 moz-do-not-send="true"
        href="http://mono.1490590.n4.nabble.com/Mono-Dev-f1517221.html">Mono
        - Dev mailing list archive</a> at Nabble.com.<br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Mono-devel-list mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a>
<a class="moz-txt-link-freetext" href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a>
</pre>
    </blockquote>
    <br>
    <br>
  </body>
</html>