1 2010-03-03 Robert Jordan <robertj@gmx.net>
3 * CADMessages.cs (GetMethod): don't continue if the type
4 could not be found in the current domain. Fixes #584067.
6 2009-09-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
8 * AsyncResult.cs: do not create the handle if not needed.
10 2009-09-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
12 * AsyncResult.cs: don't create the handle if we know the result is
15 2009-09-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
17 * AsyncResult.cs: lock when setting the 'completed' field and use the
18 property instead of the 'handle' field.
20 2008-11-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
22 * CADMessages.cs: when the method is generic, return a constructed
23 method instead of the generic one. Fixes regression in
24 System.Runtime.Remoting.GenericTest::TestCrossAppDomainChannel.
26 2008-07-06 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
28 * MethodCallMessageWrapper.cs: Fix signatures
30 2008-07-06 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
32 * IRemotingFormatter.cs: Fix parameter name
33 * MethodCallMessageWrapper.cs: Remove excess public members
35 2008-07-04 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
40 * IRemotingFormatter.cs:
41 * IMethodReturnMessage.cs:
43 * IMethodCallMessage.cs:
44 * ConstructionResponse.cs:
45 * ConstructionCall.cs: Fix parameter name
48 2007-12-04 Robert Jordan <robertj@gmx.net>
50 * MethodCall.cs (ResolveMethod): Handle server objects registered
51 with RemotingServices.Marshal (obj, typeof (ISomeInterface)).
52 Fixes #324232. Test case: /trunk/gert/standalone/bug82302/.
54 2007-11-21 Atsushi Enomoto <atsushi@ximian.com>
56 * CallContext.cs : added missing 2.0 stuff.
58 2007-10-30 Robert Jordan <robertj@gmx.net>
60 * MethodCall.cs (ResolveMethod): Lookup the interface
61 using RemotingServices.GetVirtualMethod (). Eliminates
62 the costly GetMethodBaseFromName () call.
64 2007-09-07 Robert Jordan <robertj@gmx.net>
66 * MethodCall (ResolveMethod): Handle generic methods in the
67 code that was introduced as a fix for #82240.
70 2007-09-06 Atsushi Enomoto <atsushi@ximian.com>
72 * LogicalCallContext.cs, MethodCall.cs, MethodCallMessageWrapper.cs,
73 IMethodMessage.cs, ReturnMessage.cs, MethodResponse.cs
74 MethodReturnMessageWrapper.cs : couple more of (2.0/1.1) API fixes.
76 2007-08-15 Atsushi Enomoto <atsushi@ximian.com>
78 * LogicalCallContext.cs IMethodMessage.cs CallContext.cs :
81 2007-07-30 Lluis Sanchez Gual <lluis@novell.com>
83 * MethodCall.cs (ResolveMethod): If the method is implemented
84 in an interface, look for the method implementation. Fix for bxc #82240
86 2007-02-05 Robert Jordan <robertj@gmx.net>
88 * MethodCall.cs (ResolveMethod): Actually use the type returned
89 by CastTo (). Fixes bug #77191.
91 2006-12-25 Robert Jordan <robertj@gmx.net>
93 * MethodCall.cs: Add support for generic methods.
94 * MethodCall.cs (GetTypeNameFromAssemblyQualifiedName):
95 Add support for generic types.
96 * ReturnMessage.cs: Fix bug #80371.
98 2006-12-18 Lluis Sanchez Gual <lluis@novell.com>
100 * StackBuilderSink.cs: Avoid unneeded cast that was causing some
103 2006-12-01 Lluis Sanchez Gual <lluis@novell.com>
105 * ReturnMessage.cs: When creating an exception message, copy the call
106 context from the call message.
108 2006-08-04 Lluis Sanchez Gual <lluis@novell.com>
110 * MethodCall.cs, CADMessages.cs: Added missing unmarshalling case
111 for IntPtr. When getting the method from the CAD message,
112 check that the same declaring type is loaded in the target domain
113 from the same assembly. If it is not, get the correct type and
114 method for the domain.
116 2006-05-31 Zoltan Varga <vargaz@gmail.com>
118 * AsyncResult.cs: Add an 'object_data' field which has GC tracking.
120 * AsyncResult.cs: Revert the last change.
122 * AsyncResult.cs: Make 'data' field an object to allow GC tracking.
124 2006-02-06 Lluis Sanchez Gual <lluis@novell.com>
126 * LogicalCallContext.cs, MethodCall.cs, ReturnMessage.cs,
127 MethodResponse.cs: Create a new LogicalCallContext for
128 every message. Fixes #77364 again.
130 2006-01-31 Lluis Sanchez Gual <lluis@novell.com>
132 * LogicalCallContext.cs: Added shared empty call context.
133 * MethodCall.cs: Added better error checking and reporting in
134 the code that resolves methods.
136 * ReturnMessage.cs, MethodResponse.cs, MethodCall.cs: Never return null in
137 LogicalCallContext. If it's null, return an empty context. Based
138 on a patch by Dominic Ullmann that fixes bug #77364.
140 2005-06-22 Lluis Sanchez Gual <lluis@novell.com>
142 * MethodReturnMessageWrapper.cs: ArgCount now returns the count
143 from the internal arg array, since it may change.
144 * MonoMethodMessage.cs: Added NeedsOutProcessing helper method.
146 2005-05-31 Lluis Sanchez Gual <lluis@novell.com>
148 * ReturnMessage.cs: Added some null checks.
149 * MethodReturnMessageWrapper.cs: Added some null checks. Fixed
150 incorrect cast in the constructor.
152 2005-05-20 Sebastien Pouliot <sebastien@ximian.com>
154 * AsyncResult.cs: Added new fields (required for stack propagation) to
155 match runtime structure.
157 2005-05-09 Lluis Sanchez Gual <lluis@novell.com>
159 * MethodCall.cs: Fix warning.
161 2004-10-26 Lluis Sanchez Gual <lluis@novell.com>
163 * CallContext.cs: In CreateLogicalCallContext, added parameter which
164 specifies if an empty LogicalCallContext needs to be created if there are
167 2004-09-27 Lluis Sanchez Gual <lluis@novell.com>
169 * MethodCallMessageWrapper.cs: The wrapper has to modify the wrapped
171 * ReturnMessage.cs: Use TypeName instead of _typeName since now name is
174 2004-09-22 Lluis Sanchez Gual <lluis@novell.com>
176 * ConstructionCall.cs: Added a Proxy property (which is the proxy that
177 will reference the object being created).
178 * StackBuilderSink.cs: Take into account the forceInternalExecute
181 2004-09-11 Ben Maurer <bmaurer@users.sourceforge.net>
183 * CallContext.cs: Use [ThreadStatic], it is much faster than the
184 Thread.[Get/Set]Data functions
186 2004-09-11 Ben Maurer <bmaurer@users.sourceforge.net>
188 * CADMessages.cs: get rid of method / type name, it is not needed
189 * MethodCall.cs: lazily init method / type name.
190 * ReturnMessage.cs: lazily init method / type name, sig.
192 2004-09-11 Ben Maurer <bmaurer@users.sourceforge.net>
194 * CADMessages.cs, MethodCall.cs: When doing an x-appdomain
195 call, store the method in a RuntimeMethodHandle. This allows
196 us to avoid the expensive lookup operations that must be done
197 to resolve the method. This makes xsp go from 250 r/s to 450 r/s
200 2004-09-05 Ben Maurer <bmaurer@users.sourceforge.net>
202 * MethodCall.cs, CADMessages.cs: String.Copy (x) is the same
203 thing as new string (x.ToCharArray ()), however it involves
204 half the memory allocation
206 2004-07-22 Lluis Sanchez Gual <lluis@novell.com>
208 * MethodCall.cs: Use RemotingServices.GetMethodBaseFromName to get the
209 MethodBase from the method name. This fixes bug #61774.
211 2004-06-18 Sebastien Pouliot <sebastien@ximian.com>
213 * ReturnMessage.cs: Added IMessage interface to class definition.
215 2004-06-17 Gert Driesen <drieseng@users.sourceforge.net>
217 * ReturnMessage.cs: remove serializable attribute to match MS.NET
219 2004-05-11 Lluis Sanchez Gual <lluis@ximian.com>
221 * MethodResponse.cs: Only get the MethodBase from type and method name when
224 2004-05-11 Lluis Sanchez Gual <lluis@ximian.com>
226 * MethodResponse.cs: In the serialization constructor, initialize MethodBase
227 using the method name and type name.
229 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
231 * MethodResponse.cs, ReturnMessage.cs: More null checks.
233 2004-04-30 Lluis Sanchez Gual <lluis@ximian.com>
235 * MethodResponse.cs, ReturnMessage.cs: Added null checks.
237 2004-04-29 Raja R Harinath <rharinath@novell.com>
239 * MethodResponse.cs (MethodResponse.OutArgCount)
240 (MethodResponse.GetOutArg): Make reference to _args null-safe.
242 2004-04-28 Lluis Sanchez Gual <lluis@ximian.com>
244 * CADMessages.cs: Revert last change. It was ok.
245 * MethodResponse.cs, ReturnMessage.cs: Handle output parameters in a
246 different way. The message is constructed from an array that has all
247 parameters, including input parameters (which will be set to null).
248 The Args property returns all arguments. OutArgs returns only the
249 output arguments, which are taken from the provided args list.
251 2004-04-26 Lluis Sanchez Gual <lluis@ximian.com>
253 * CADMessages.cs: Marshal the correct return args for the return message.
255 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
258 (AsyncWaitHandle): create the handle if not done yet.
260 2004-01-19 Lluis Sanchez Gual <lluis@ximian.com>
262 * AsyncResult.cs: Added async_callback field and fixed the callback call.
263 I thought that async_delegate was the callback, but it is not, it is the
264 delegate upon which the async call was invoked. This fixes bug #53020.
265 * StackBuilderSink.cs: If the target object is a proxy, make the call
266 using the Invoke method of the real proxy.
268 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
270 * ConstructionResponse.cs: Added constructor for exception response.
272 2003-12-22 Lluis Sanchez Gual <lluis@ximian.com>
274 * MethodCall.cs: Do not try to resolve the method in the serialization
275 constructor, since the type array may not be yet completely deserialized.
276 This fixes bug #52426.
278 2003-12-10 Lluis Sanchez Gual <lluis@ximian.com>
280 * AsyncResult.cs: Call delegate on async call completion.
281 * CADMessages.cs: Removed TODO.
283 2003-11-28 Dick Porter <dick@ximian.com>
285 * MethodCall.cs: Use the char form of IndexOf, so that the
286 comparison is done with the Invariant culture.
288 2003-11-26 Lluis Sanchez Gual <lluis@ximian.com>
290 * MethodCall.cs, MethodResponse.cs, ReturnMessage.cs: Implemented
293 2003-11-25 Lluis Sanchez Gual <lluis@ximian.com>
295 * AsyncResult.cs, CallContext.cs: Added private constructor.
296 * ReturnMessage.cs: Added parameter array length check.
298 2003-11-18 Lluis Sanchez Gual <lluis@ximian.com>
300 * ArgInfo.cs, ClientContextTerminatorSink.cs, ErrorMessage.cs, MethodCall.cs,
301 MethodResponse.cs, MonoMethodMessage.cs, ServerContextTerminatorSink.cs,
302 StackBuilderSink.cs: Fixed class visibility.
303 * CADMessages.cs: Added null reference check in SaveLogicalCallContext.
304 * ISerializationRootObject.cs: Added.
306 2003-11-17 Lluis Sanchez Gual <lluis@ximian.com>
308 * StackBuilderSink.cs: Implemented AsyncProcessMessage().
310 2003-11-16 Lluis Sanchez Gual <lluis@ximian.com>
312 * CADMessages.cs: Added methods for setting and getting the logical call
314 * ConstructionCall.cs: Fixed signature of some methods.
315 * ConstructionResponse.cs: Fixed signature of constructor and added missing
317 * LogicalCallContext.cs: Removed TODO.
318 * MethodCall.cs, MethodResponse.cs: Added support for LogicalCallContext in
320 * MethodReturnMessageWrapper.cs: Removed some unneded methods.
322 2003-11-11 Lluis Sanchez Gual <lluis@ximian.com>
324 * ConstructionCall.cs, ReturnMessage.cs: minor fixes.
326 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
328 * MethodCall.cs: In the constructor that takes a CADMethodCallMessage
329 object, make sure strings are not reused across domains.
331 2003-10-08 Lluis Sanchez Gual <lluis@ximian.com>
333 * CADMessages.cs: added smuggeling argument support for some instances
334 of MarshalByRefObject. This should make the cross-appdomain channel
335 even faster. Some other minor fixes.
337 2003-10-07 Lluis Sanchez Gual <lluis@ximian.com>
339 * CADMessages.cs: improved argument smuggeling. Now it supports strings,
340 datetime and arrays of primitive types. This makes CAD much faster.
341 * AsyncResult.cs: Added property to store the call message.
343 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
345 * ArgInfo.cs: Include parameters with the Out flag in the out parameters list.
346 * CallContext.cs: SetCurrentCallContext now returns the old context, so it
347 can be later restored with new new method RestoreCallContext().
348 * ReturnMessage.cs: Some fixes in the way the class deals with output parameters,
349 to match MS.NET behavior.
351 2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
353 * MonoMethodMessage.cs: Moved CallType into namespace declaration.
355 2003-08-25 Lluis Sanchez Gual <lluis@ximian.com>
357 * AsyncResult.cs: Added method EndInvoke(). Fixed SyncProcessMessage().
358 * CallContext.cs: Clean current logical context before setting the new
359 values form LogicalCallContext (SetCurrentCallContext).
360 * MonoMethodMessage.cs: Added new CallType field and enum.
361 * StackBuilderSink.cs: Improved error message.
363 2003-08-20 Lluis Sanchez Gual <lluis@ximian.com>
365 * MethodCall.cs: Changed exception text to match MS.NET (more or less).
366 * AsyncResult.cs: Added new fields to store async calls results.
368 2003-08-17 Lluis Sanchez Gual <lluis@ximian.com>
370 * MethodCall.cs: Throw the right exception if the target object is not
371 found when resolving the target method.
373 2003-08-17 Lluis Sanchez Gual <lluis@ximian.com>
375 * CallContext.cs: Fixed bug #47686.
377 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
379 * CADMessages.cs: Enabled smuggeling of primitive type parameters (as suggested
381 * CallContext.cs: Impplemented.
382 * LogicalCallContext.cs: Implemented.
383 * MonoMethodMessage.cs: Added setter for LogicalCallContext property.
385 2003-07-25 Lluis Sanchez Gual <lluis@ximian.com>
387 * ArgInfo.cs: Use Type.IsByRef to check if a parameter is a ref or
389 * MethodCall.cs: Improved checking if the requested client type for the target
390 object can be casted to the server type. Now not only checks type name,
391 but also the type hierarchy and implemented interfaces. Also implemented
393 * MethodResponse.cs: Imlemented ToString().
394 * ReturnMessage.cs: In the exception constructor, allow the request to be null.
395 Implemented ToString().
396 * StackBuilderSink.cs: Check type of parameters before calling the target method.
397 (a wrong type would make the runtime to crash).
399 2003-07-23 Lluis Sanchez Gual <lluis@ximian.com>
401 * MethodDictionary.cs: Fixed Add method. If the property is method
402 property, then there is no need it to the internal properties table.
404 2003-07-21 Lluis Sanchez Gual <lluis@ximian.com>
406 * MethodCall.cs: Fixed copy constructor, when the message to copy does not
407 implement IMethodMessage.
409 2003-07-09 Jean-Marc André <jean-marc.andre@polymtl.ca>
411 * ReturnMessage.cs: Bug fix. GetOutArgName didn't return the right Name for the given out parameter.
413 2003-05-13 Lluis Sanchez Gual <lluis@ideary.com>
415 * MethodCall.cs: ResolveMethod now uses the type of the target object (identified
416 by the uri) instead of the type specified by TypeName (only if both types have
419 2003-04-10 Lluis Sanchez Gual <lluis@ideary.com>
421 * AsyncResult.cs: implemented some methods.
422 * ClientContextTerminatorSink.cs: Improved support for Async and OneWay messages.
423 * MonoMethodMessage.cs: Added member needed to support Async messages.
424 * ServerObjectTerminatorSink.cs: Improved support for Async and OneWay messages.
426 2003-03-21 Lluis Sanchez Gual <lluis@ideary.com>
428 * CADMessages.cs: removed some warnings.
429 * ClientContextTerminatorSink.cs: added support for dynamic sinks.
430 * ConstructionCall.cs: added internal property IsContextOK.
431 * MethodResponse.cs: fixed management of output parameters.
432 * ServerObjectTerminatorSink.cs: added support for dynamic sinks.
434 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
436 * ConstructionCall.cs: Added internal constructor. Added setter for activation attributes.
437 Some other minor corrections.
438 * EnvoyTerminatorSink.cs: Message now redirected to current context's client sink chain.
439 * MethodCall.cs: Added method for copying messages.
441 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
444 (MethodBase): resolve the method if it's not already done.
446 2003-02-18 Lluis Sanchez Gual <lluis@ideary.com>
448 * IInternalMessage.cs: Added. Provides some useful methods for method messages.
449 * ServerContextTerminatorSink.cs: Added support for construction messages.
450 * MethodCall.cs: Implemented serialization support. Added support for IInternalMessage.
451 * MethodDictionary.cs: Added support for IInternalMessage.
452 * MethodResponse.cs: Added serialization support. Added support for IInternalMessage.
453 * MonoMethodMessage.cs: Added support for IInternalMessage.
454 * ReturnMessage.cs: Added support for IInternalMessage.
455 * ClientContextTerminatorSink.cs: Added.
456 * ConstructionCall.cs: Added.
457 * ConstructionCallDictionary.cs: Added.
458 * ConstructionResponse.cs: Added.
459 * EnvoyTerminatorSink.cs: Added.
461 2003-02-07 Patrik Torstensson
463 * CADMessages.cs: Disable smuggeling of objects cross domain, still issues casing remoting
464 to fail. (fixed formating)
466 2003-02-07 Lluis Sanchez Gual <lluis@ideary.com>
468 * CADMessages.cs: Some minor changes that allow reuse of ObjRef methods.
470 2003-02-05 Lluis Sanchez Gual <lluis@ideary.com>
472 * ReturnMessage.cs, MethodResponse.cs: OutArgs initialized to an empty array
473 when the the message returns an exception.
475 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
477 * ServerContextTerminatorSink.cs: Modified to work with new types of identities.
478 * ReturnMessage.cs: Removed internal dependence to MonoMethodMessage. It is not needed now.
479 * MonoMethodMessage.cs: Now only has method call keys in the dictionary.
480 * MethodReturnDictionary.cs, MethodCallDictionary.cs: Made public the list of
481 method keys. This list is used in MessageFormatter.
482 * MethodDictionary.cs: Corrected some minor bugs.
483 * MethodCall.cs: minor correction on constructor.
485 2003-02-03 Patrik Torstensson
487 * MethodResponse.cs: Implemented
488 * MethodCall.cs: added support for Cross appdomain messages, implemented some
490 * MethodDictionary.cs: made serializible and added methods to get internal properties.
491 * MonoMethodMessage.cs: internal dictionary is now serializible
492 * ReturnMessage.cs: made serializible
493 * ErrorMessage.cs: typo fix
495 * CADMessage.cs: new file, implements cross appdomain messages, both call and return.
496 Princip of this classes is to move unmutable objects and primitivs between appdomains
497 without marshalling. This increase performance a lot of the cross appdomain channel.
499 2003-01-29 Lluis Sanchez Gual <lluis@ideary.com>
501 * ServerContextTerminatorSink.cs: now it forwards messages to the target identity,
502 which knows how to manage each type of service.
503 * StackBuilderSink.cs: added a reference to the target object.
505 2002-12-28 Patrik Torstensson
507 * RemotingSurrogateSelector.cs: Added serialization support for MBR's.
508 * RemotingSurrogate.cs: Moved ObjRefSurrogate and MBRSurrogate to new file.
509 * ErrorMessage.cs: Dummy used when an exception occours.
510 * MonoMethodMessage.cs: Added Serializable and support for be created with null methods
512 2002-12-26 Lluis Sanchez Gual <lluis@ideary.com>
514 * ReturnMessage.cs: Implemented property Properties
515 * RemotingSurrogateSelector.cs: Implemented serialization support for ObjRef.
516 * MonoMethodMessage.cs: Implemented Properties and MethodSignature properties.
517 * MethodReturnMessageWrapper.cs: Implemented.
518 * MethodCallMessageWrapper.cs: Implemented.
519 * MethodCall.cs: Implemented.
520 * Header.cs: Small corrections to make it work.
521 * MethodDictionary.cs: Added.
522 * MethodCallDictionary.cs: Added.
523 * MethodReturnDictionary.cs: Added.
526 2002-12-20 Lluis Sanchez Gual <lluis@ideary.com>
528 * MonoMethodMessage.cs: Implemented property Uri
530 2002-12-20 Lluis Sanchez Gual <lluis@ideary.com>
532 * ServerContextTerminatorSink.cs: Added
533 * ServerObjectTerminatorSink.cs: Added
534 * StackBuilderSink.cs: Added
536 2002-12-10 Jaime Anguiano Olarra <jaime@gnome.org>
538 * CallContext.c: Added to the CVS.
540 2002-08-22 Nick Drochak <ndrochak@gol.com>
542 * RemotingSurrogateSelector.cs (SetRootObject): Function should return
545 2002-08-03 Duncan Mak <duncan@ximian.com>
548 * MethodResponse.cs: More visibility fixes. Hopefully this is the
551 2002-08-02 Duncan Mak <duncan@ximian.com>
554 * MethodCallMessageWrapper.cs:
555 * MethodReturnMessageWrapper.cs: Various visibility fixes.
557 * RemotingSurrogateSelector.cs: Added, replaced RemoteSurrogateSelector.
559 2002-07-31 Duncan Mak <duncan@ximian.com>
561 * MethodCallMessageWrapper.cs:
562 * MethodReturnMessageWrapper.cs: Revert the last patch and made it
563 work. Thanks to Gonzalo for reminding me to chain the constructors.
565 2002-07-31 Duncan Mak <duncan@ximian.com>
567 * MethodCallMessageWrapper.cs:
568 * MethodReturnMessageWrapper.cs: Remove reference to
569 InternalMessageWrapper. It's probably an MS private class, even
570 though it's visible in the documentation.
572 2002-07-31 Duncan Mak <duncan@ximian.com>
574 * InternalMessageWrapper.cs:
575 * MessageSurrogateFilter.cs:
577 * MethodCallMessageWrapper.cs:
579 * MethodReturnMessageWrapper.cs:
581 * RemoteSurrogateSelector.cs: Added to CVS.
583 * MonoMethodMessage.cs:
584 * ReturnMessage.cs: Add set in the Uri property.
586 2002-07-24 Duncan Mak <duncan@ximian.com>
588 * OneWayAttribute.cs: Added to CVS.
590 2002-07-23 Duncan Mak <duncan@ximian.com>
592 * HeaderHandler.cs: Added.
594 * IRemotingFormatter.cs: Added to CVS.
596 * IMethodMessage.cs: IMethodMessage inherits from IMessage.
598 Thu Apr 4 13:13:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
600 * IMethodReturnMessage.cs: added IMethodMessage, IMessage interfaces.
601 * ReturnMessage.cs: stubbed out Properties property.
603 2002-03-21 Dietmar Maurer <dietmar@ximian.com>
605 * AsyncResult.cs: impl.
607 2002/03/04 Nick Drochak <ndrochak@gol.com>
609 * Header.cs: Change properties into fields where they should be.