[Mono-bugs] [Bug 74878][Nor] Changed - [PATCH] Defining more than
one formatter in remoting channel not supported
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Sat Dec 3 16:37:57 EST 2005
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by robertj at gmx.net.
http://bugzilla.ximian.com/show_bug.cgi?id=74878
--- shadow/74878 2005-12-03 11:30:50.000000000 -0500
+++ shadow/74878.tmp.15739 2005-12-03 16:37:57.000000000 -0500
@@ -10,13 +10,13 @@
Component: CORLIB
AssignedTo: lluis at ximian.com
ReportedBy: alp at atoker.com
QAContact: mono-bugs at ximian.com
TargetMilestone: ---
URL:
-Summary: Defining more than one formatter in remoting channel not supported
+Summary: [PATCH] Defining more than one formatter in remoting channel not supported
Using this example from the remoting book:
http://www.ingorammer.com/Book/EventsEnhanced.zip
$ unzip EventsEnhanced.zip
$ cd EventsEnhanced/Client_EventInitiator/bin/Debug
@@ -221,6 +221,35 @@
------- Additional Comments From robertj at gmx.net 2005-12-03 11:30 -------
Created an attachment (id=16161)
formatterchain2.diff
+
+------- Additional Comments From robertj at gmx.net 2005-12-03 16:37 -------
+I've changed the patch to gracefully deal with "null" content-types.
+
+Requests w/out a content-type will be handled as before the
+patch: the first formatter sink will handle them.
+
+If a content-type is supplied, the request will be passed
+down the sink chain until a formatter handles the request.
+
+If no formatter was willing to handle the request, the next
+non-formatter sink will choke on the missing requestMessage.
+The last formatter will catch this exception and it will
+try to deserialize the request. This assures that the client
+will receive an exception from the server.
+
+During the tests I found a bug in BinaryClientFormatterSink:
+AsyncProcessMessage was not setting the transport headers.
+This means, that asyc remoting calls never send the
+transport headers. I tested this against a multi-formatter
+.NET server and it didn't work, because as stated before,
+.NET relies on the content-type.
+
+Compatibility issues of the patches:
+
+Old mono clients won't be able to make *async* calls to new mono
+servers, but only if the new servers are configured to use
+*more then one* formatter.
+
More information about the mono-bugs
mailing list