[Mono-bugs] [Bug 77364][Wis] Changed - System.Runtime.Remoting.Messaging.MethodCall.LogicalCallContext difference to MS.NET

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sun Feb 5 23:54:49 EST 2006


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 dominic_ullmann at hispeed.ch.

http://bugzilla.ximian.com/show_bug.cgi?id=77364

--- shadow/77364	2006-01-31 14:49:50.000000000 -0500
+++ shadow/77364.tmp.30470	2006-02-05 23:54:49.000000000 -0500
@@ -1,13 +1,13 @@
 Bug#: 77364
 Product: Mono: Class Libraries
 Version: 1.1
 OS: unknown
 OS Details: Ubuntu
-Status: RESOLVED   
-Resolution: FIXED
+Status: REOPENED   
+Resolution: 
 Severity: Unknown
 Priority: Wishlist
 Component: CORLIB
 AssignedTo: mono-bugs at ximian.com                            
 ReportedBy: dominic_ullmann at hispeed.ch               
 QAContact: mono-bugs at ximian.com
@@ -52,6 +52,46 @@
 Created an attachment (id=16400)
 patch that fixes this problem in MethodCall/ReturnMessage/MessageResponse
 
 
 ------- Additional Comments From lluis at ximian.com  2006-01-31 14:49 -------
 Fixed in SVN (56355). Thanks!
+
+------- Additional Comments From dominic_ullmann at hispeed.ch  2006-02-05 23:54 -------
+Hi
+
+Thank you for integrating this patch.
+Sadly, the way you've changed the patch causes some issues.
+
+Because you now retrun always the same instance 
+(LogicalCallContext.Empty) instead of null or instead of a new 
+instance (like in the patch), I still can't modify the 
+LogicalCallContext in my formatter code.
+
+In my code, the deserialization of a request works in the following 
+way:
+
+IMessage request = new GiopRequestMessage();
+// now build request by reading stream ...
+
+// create the method call from an IMessage
+MethodCall call = new MethodCall(request);
+// for all context elements sent from client, add them to 
+LogicalCallContext
+methodCallInfo.LogicalCallContext.SetData(contextKey,
+                                          new CorbaContextElement
+(val));
+
+Because of the internal constructor of LogicalCallContext (sadly 
+internal in .NET), I can't create an instance of this and add it to 
+the message. Instead I need to rely on the MS.NET behaviour, that a 
+MethodCall/ReturnMessage/MessageResponse retruns a new instance of 
+LogicallCallContext, if no instance is passed during construction.
+
+When returning LogicalCallContext.Empty, I modifiy this instance 
+during every request, which has context arguements. This leads to 
+incorrect behaviour.
+
+To fix this issue, would you please change the impelemtation to the 
+MS.NET behaviour.
+Thank you
+Best regards!


More information about the mono-bugs mailing list