1 2006-12-18 Lluis Sanchez Gual <lluis@novell.com>
3 * RemotingServices.cs: FieldSetter and FieldGetter methods need
4 to be handled in a special way, since they are the only private
5 methods which can be called from a subclass.
6 In UpdateOutArgObject, removed support for StringBuilder objects,
7 now supporting only arrays, like MS.NET.
9 2006-11-22 Lluis Sanchez Gual <lluis@novell.com>
11 * RemotingServices.cs: Avoid generating urls with negative numbers.
12 When building the url for the RemoteActivationService service,
13 avoid duplicate path separator.
15 2006-10-30 Gert Driesen <drieseng@users.sourceforge.net>
17 * RemotingServices.cs: Explicitly set FormatterAssemblyStyle to Full
18 in 2.0 profile, as the default has changed from Full to Simple.
21 2006-08-23 Lluis Sanchez Gual <lluis@novell.com>
23 * ObjRef.cs: Throw a TypeLoadException exception if the referenced
24 type can't be found. That's better than a nullref.
26 2006-07-15 Jonathan Chambers <joncham@gmail.com>
28 * RemotingServices.cs: Begin implementing COM Interop.
30 2006-04-27 Robert Jordan <robertj@gmx.net>
32 * RemotingServices.cs (IsObjectOutOfAppDomain, IsObjectOutOfContext):
33 add parameter validation. Fixes bug #78164.
35 2006-04-07 Sebastien Pouliot <sebastien@ximian.com>
37 * RemotingServices.cs: Assert SerializationFormatter permissions if
38 the runtime wants to do cross-appdomain serialization (this will need
39 to be better reviewed/tested later but it fix some current issues).
41 2005-12-07 Robert Jordan <robertj@gmx.net>
43 * RemotingServices.cs: Accept the application name beeing a part of
44 the object URI. Fixes bug #76809.
46 2005-11-06 Svetlana Zholkovsky <svetlanaz@mainsoft.com>
48 * RemotingConfiguration.cs: Fix ConfigHandler.OnEndElement to handle case
49 when the configuration file contains custom providers with child elements.
50 * ServerIdentity.cs: clear _serverSink field in the DisposeServerObject method.
52 2005-10-18 Lluis Sanchez Gual <lluis@novell.com>
54 * RemotingConfiguration.cs: The value for customErrors tag must be
55 case-insensitive. Fixes bug #76466 (patch by Robert Jordan).
57 2005-10-17 Lluis Sanchez Gual <lluis@novell.com>
59 * RemotingConfiguration.cs: Rethrow catched exceptions
60 in ReadConfigFile (patch by Robert Jordan). Fixes bug #76434.
61 Properly set the application name.
63 2005-08-18 Lluis Sanchez Gual <lluis@novell.com>
65 * RemotingServices.cs: Notify marshals, unmarshals and disconnections
66 to TrackingServices. Fixes bug #75814.
68 2005-06-06 Zoltan Varga <vargaz@freemail.hu>
70 * ObjRef.cs RemotingServices.cs: Add some missing 2.0 attributes.
72 2005-05-26 Ben Maurer <bmaurer@ximian.com>
74 * InternalRemotingServices.cs: Move hashtable init to
75 cctor. Removes double checked locking and locking on typeof.
77 2005-05-17 Lluis Sanchez Gual <lluis@novell.com>
79 * ObjRef.cs: Use IsInstanceOfType instead of IsAssignableFrom
80 since GetType() may not return the correct type if the object is
83 2005-05-12 Atsushi Enomoto <atsushi@ximian.com>
85 * RemotingConfiguration.cs : MiniParser->SmallXmlParser changes.
87 2005-05-09 Lluis Sanchez Gual <lluis@novell.com>
89 * RemotingServices.cs: Fix warning.
91 2004-10-26 Lluis Sanchez Gual <lluis@novell.com>
93 * RemotingServices.cs: Added several serialization methods needed by
94 the cross app domain wrappers.
95 In GetOrCreateClientIdentity(), set the domain of the proxy if it
96 references an object in another domain.
98 2004-09-28 Lluis Sanchez Gual <lluis@novell.com>
100 * RemotingServices.cs: Allways pass the uri when calling
101 GetClientChannelSinkChain, even if it has channel data.
102 This fixes bug 66768.
104 2004-09-27 Lluis Sanchez Gual <lluis@novell.com>
106 * ServerIdentity.cs: Only set the target identity if it has not already
109 2004-09-23 Lluis Sanchez Gual <lluis@novell.com>
111 * RemotingServices.cs: Fixed wrong patch for InternalExecuteMessage.
112 The MethodBase in the message may not be the same type of the object
113 (the method can be called using an interface).
115 2004-09-22 Lluis Sanchez Gual <lluis@novell.com>
117 * RemotingServices.cs: In InternalExecute, use MethodBase instead
118 of MonoMethod, so it can be also used for running constructors.
119 * ServerIdentity.cs: Added methods for getting and setting the client
120 proxy in ClientActivatedIdentity. This is needed for CBOs, since
121 messages need to be dispatched using the proxy as "this", not the
124 2004-09-11 Ben Maurer <bmaurer@users.sourceforge.net>
126 * RemotingServices.cs: use MethodBase rather than looking
127 for the method ourselves. It has higher perf in x-ad calls.
129 2004-09-05 Ben Maurer <bmaurer@users.sourceforge.net>
131 * RemotingServices.cs (IsMethodOverloaded): use the internal
132 method GetMethodsByName. It does much less work than GetMembers.
134 2004-09-05 Ben Maurer <bmaurer@users.sourceforge.net>
136 * RemotingServices.cs (IsOneWay): use IsDefined rather than
137 GetCustomAttributes. It is much faster.
139 2004-07-22 Lluis Sanchez Gual <lluis@novell.com>
141 * ObjRef.cs: Fixed type check in in ObjRef constructor. The requested class
142 must be the object class or a base class. This fixes bug #61249.
144 2004-07-22 Lluis Sanchez Gual <lluis@novell.com>
146 * RemotingServices.cs: Changed GetMethodBaseFromMethodMessage so its code
147 can be reused internally. Also fixed bug when gettting a method from an
150 2004-07-02 Lluis Sanchez Gual <lluis@ximian.com>
152 * ServerIdentity.cs: When disposing an identity, detach the identity from
153 the object, so it can be safely marshalled again.
154 * RemotingServices.cs: Fixed IsObjectOutOfContext and
155 IsObjectOutOfAppDomain. In SetObjectUriForMarshal, take into account
158 2004-07-01 Lluis Sanchez Gual <lluis@ximian.com>
160 * RemotingConfiguration.cs: Avoid adding "id" and "type" as custom
161 properties of providers. This fixes bug #60934.
163 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
165 * RemotingTimeoutException.cs: added missing serialization ctor
166 * ServerException.cs: added missing serialization ctor
168 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
170 * RemotingConfiguration.cs: Read application name from configuraation file.
172 2004-06-01 Gert Driesen <drieseng@users.sourceforge.net>
174 * RemotingServices.cs: Added missing Conditional attribute and
175 MonoTODO attribute on LogRemotingStage
177 2004-05-11 Lluis Sanchez Gual <lluis@ximian.com>
179 * RemotingConfiguration.cs: Added method for configuring chanels with the
180 delayed client load flag. Added locks for accessing internal tables.
182 2004-05-11 Lluis Sanchez Gual <lluis@ximian.com>
184 * RemotingServices.cs: In GetMethodBaseFromMethodMessage, look for
185 constructors if no method is found.
187 2004-05-07 Lluis Sanchez Gual <lluis@ximian.com>
189 * SoapServices.cs: Support encoded namespace names in
190 DecodeXmlNamespaceForClrTypeNamespace. Thanks to George Kodinov.
192 2004-04-28 Lluis Sanchez Gual <lluis@ximian.com>
194 * RemotingServices.cs: When create a ReturnMessage, provide an array with
195 all parameters, including input parameters.
197 2004-04-26 Lluis Sanchez Gual <lluis@ximian.com>
199 * ObjRef.cs: Little optimization.
201 2004-03-09 Lluis Sanchez Gual <lluis@ximian.com>
203 * RemotingServices.cs: Marshal(): If the object is a proxy, return the ObjRef
204 stored in the identity object.
206 2004-03-04 Lluis Sanchez Gual <lluis@ximian.com>
208 * Identity.cs: Removed object type from Identity, since it is hold
209 now in the IRemotingTypeInfo object.
210 * ServerIdentity.cs: Added object type.
211 * TypeInfo.cs: Added null check for the class hierarchy.
213 2004-02-17 Lluis Sanchez Gual <lluis@ximian.com>
215 * RemotingServices.cs: Client identities are registered using the full url,
216 not the object uri, so they must be unregistered using the same key.
218 2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
220 * TypeInfo.cs: The list of interfaces may be null. Added check.
222 2004-01-19 Lluis Sanchez Gual <lluis@ximian.com>
224 * RemotingServices.cs: When marshalling a custom proxy, allow the creation
225 of a new identity. This fixes bug #52921.
226 * ServerIdentity.cs: Allow the creation of server identities that
227 represent a custom proxy instead of a real object.
229 2003-12-10 Lluis Sanchez Gual <lluis@ximian.com>
231 * SoapServices.cs: Little fix: correctly encode namespaces.
233 2003-12-10 Martin Willemoes Hansen <mwh@sysrq.dk>
235 * RemotingConfiguration.cs: fixed wrong attribute name
236 sponsorShipTimeOut it should be sponsorshipTimeout
238 2003-12-03 Lluis Sanchez Gual <lluis@ximian.com>
240 * SoapServices.cs: Little fix in namespace construction.
242 2003-11-28 Dick Porter <dick@ximian.com>
245 * RemotingConfiguration.cs: Use the char form of IndexOf, so that
246 the comparison is done with the Invariant culture.
248 2003-11-26 Lluis Sanchez Gual <lluis@ximian.com>
250 * InternalRemotingServices.cs: Fixed GetCachedSoapAttribute().
251 * RemotingConfiguration.cs: Implemented CustomErrorsEnabled().
252 Added support for soapInterop configuration section.
253 * SoapServices.cs: Several fixes to match MS behavior.
255 2003-11-25 Lluis Sanchez Gual <lluis@ximian.com>
257 * InternalRemotingServices.cs: Implemented GetCachedSoapAttribute().
258 * SoapServices.cs: Implemented missing methods.
259 * WellKnownClientTypeEntry.cs: Initialize object_url in constructor.
261 2003-11-24 Jackson Harper <jackson@ximian.com>
263 * ServerIdentity.cs: Get non public types, so remote objects can
264 be non public or have non public constructors.
266 2003-11-19 Lluis Sanchez Gual <lluis@ximian.com>
268 * InternalRemotingServices.cs: Added missing attributes.
270 2003-11-17 Lluis Sanchez Gual <lluis@ximian.com>
272 * InternalRemotingServices.cs: Added CLSCompliant to SetServerIdentity
273 (MethodCall is not compliant)
274 * IObjectHandle.cs: Set correct value for Guid.
276 2003-11-16 Lluis Sanchez Gual <lluis@ximian.com>
278 * IObjectHandle.cs, ObjectHandle.cs: Added missing attributes.
279 * RemotingConfiguration.cs: GetRegisteredActivatedClientTypes made public.
280 Declared CustomErrorsEnabled() method.
281 * RemotingServices.cs: Implemented GetSessionIdForMethodMessage().
282 IsAsyncMessage must be internal.
283 * InternalRemotingServices.cs: Added.
285 2003-11-13 Lluis Sanchez Gual <lluis@ximian.com>
287 * RemotingServices.cs: Add ".rem" suffix to generated uri names.
289 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
291 * RemotingConfiguration.cs: Implemented all remaining functionality.
292 * ActivatedClientTypeEntry.cs: Set the value of ObjectType in the constructor
293 * ActivatedServiceTypeEntry.cs, WellKnownClientTypeEntry.cs,
294 WellKnownServiceTypeEntry.cs: Check that the provided type is valid.
296 2003-11-11 Lluis Sanchez Gual <lluis@ximian.com>
298 * RemotingConfiguration.cs: Added initial implementation of Configure method
301 2003-11-11 Lluis Sanchez Gual <lluis@ximian.com>
303 * ActivatedClientTypeEntry.cs, ActivatedServiceTypeEntry.cs,
304 IRemotingTypeInfo.cs, RemotingServices.cs, WellKnownServiceTypeEntry.cs:
307 2003-11-01 Zoltan Varga <vargaz@freemail.hu>
309 * RemotingServices.cs (GetDomainProxy): Use the new InvokeInDomain
310 function instead of calling SetDomain.
312 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
314 * RemotingServices.cs: Do not create an identity for an object if it
317 2003-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
319 * RemotingServices.cs: (NewUri) use Interlocked.Increment on next_id.
321 2003-10-09 Lluis Sanchez Gual <lluis@ximian.com>
323 * ObjRef.cs: Added new constructor to support CAD channel.
325 2003-10-08 Lluis Sanchez Gual <lluis@ximian.com>
327 * Identity.cs, RemotingServices.cs: Fixed memory leak. I Changed reference
328 to proxy in ClientIdentity to a WeakReference. This fixes a memory leak.
329 * RemotingServices.cs: Ignore first "/" char in uris when looking for
331 Take into account that identity now has a weak reference
334 2003-09-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
336 * ObjectHandle.cs: simplified and fix InitializeLifetimeService.
338 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
340 * RemotingServices.cs: Collect value of parameters with the Out flag
341 into the return message. Also set and reset CallContext. Added method
344 2003-08-25 Lluis Sanchez Gual <lluis@ximian.com>
346 * RemotingServices.cs: Some small fixes.
348 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
350 * ObjRef.cs: Implemented IsFromThisProcess().
351 * RemotingServices.cs: Implemented methods GetLifetimeService and
352 GetEnvoyChainForProxy. Stubbed LogRemotingStage.
354 2003-07-29 Lluis Sanchez Gual <lluis@ximian.com>
356 * RemotingServices.cs: GetObjectUri(): For client proxies, return
359 2003-07-26 Duncan Mak <duncan@ximian.com>
361 * SoapServices.cs (XmlNsForClrTypeWithNsAndAssembly):
362 Fixed typo. It's 'Ns', but 'Ms'.
364 2003-07-25 Lluis Sanchez Gual <lluis@ximian.com>
366 * RemotingServices.cs: If the type for a proxy is not available in
367 the client site, use the MarshalByRefObject type.
369 2003-07-21 Lluis Sanchez Gual <lluis@ximian.com>
371 * ServerIdentity.cs: Fixed bug #46645
373 2003-07-16 Lluis Sanchez Gual <lluis@ximian.com>
375 * Identity.cs: Added TargetUri property
377 2003-04-10 Lluis Sanchez Gual <lluis@ideary.com>
379 * ObjRef.cs: Fixed bug #43187, based on the patch by Jean-Marc Andre
381 2003-04-10 Lluis Sanchez Gual <lluis@ideary.com>
383 * ObjRef.cs: Renamed ChannelInfoStore to ChannelInfo (match MS.NET)
384 * RemotingServices.cs: Added method to help support Async messages.
385 * RemotingConfiguration.cs: Implemented property ProcessID.
387 2003-03-24 Lluis Sanchez Gual <lluis@ideary.com>
389 * RemotingServices.cs: Fixed bug #39915
391 2003-03-20 Lluis Sanchez Gual <lluis@ideary.com>
393 * Identity.cs: Added support for dynamic properties.
394 * ObjRef.cs: Removed some [MonoTODO]
395 * TypeInfo.cs: Added support for interfaces.
396 * RemotingServices.cs: Several fixes to support interfaces in proxies.
398 2003-03-15 Lluis Sanchez Gual <lluis@ideary.com>
400 * RemotingServices.cs: fixes bugs #39380 and #39331.
402 2003-02-25 Lluis Sanchez Gual <lluis@ideary.com>
404 * Identity.cs: Added property to check if an identity is connected (it is remotely accesible)
405 * ObjRef.cs: Added internal helper method for getting the server type of an ObjRef.
406 * RemotingServices.cs: Implemented Disconnect method. Added support for custom proxy
407 creating using ProxyAttribute. Added support for activation attributes in creation
408 of proxies. Some other minor corrections.
409 * ServerIdentity.cs: minor corrections.
411 2003-02-18 Lluis Sanchez Gual <lluis@ideary.com>
413 * Identity.cs: Added envoy message sink.
414 * ObjRef.cs: Implemented EnvoySink property
415 * RemotingConfiguration.cs: now enables proxy creation for types registered
416 as ClientActivatedType or WellKnownClientType.
417 * RemotingServices.cs: Added support for ContextBoundObjects.
418 Added methods for creating proxies.
419 * ServerIdentity.cs: Added initialization of envoy sink.
420 * EnvoyInfo.cs: Added. It is an implementation on IEnvoyInfo.
422 2003-02-08 Sebastien Pouliot <spouliot@videotron.ca>
424 * RemotingConfiguration.cs: Changed using to Mono.Xml for MiniParser.
426 2003-02-07 Patrik Torstensson
428 * RemotingServices.cs: Always marshal an object in GetObjectData
430 2003-02-07 Lluis Sanchez Gual <lluis@ideary.com>
432 * Identity.cs: Added ObjRef attribute, that holds the objref of the object.
433 Removed implementation of CreateObjRef. Now it is implemented in the derived classes.
434 * ServerIdentity.cs: Added implementation of CreateObjRef.
435 * RemotingServices.cs: Changed implementation of GetRemoteObject and GetClientIdentity.
436 Now they only have and ObjRef as input parameter. This is the objref received from
437 the server. Unmarshal() also checks if the objref is for a well known object.
438 In this case, a proxy is always created, but if not, it tries to get the real object.
439 * ObjRef.cs: Added some flags that have info for marshalling/unmarshalling.
440 Changed behavior of IsPossibleToCAD. Now returns false. Returning true makes serialization
441 of this ObjRef to fail in the target AD. Added method UpdateChannelInfo.
443 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
445 * Identity.cs: created and identity class for each identity type. It is a more clear design.
446 * ServerIdentity.cs: added. Implements identity funtionality specific to server objects
447 * RemotingServices.cs: Modified to work with new types of identities.
448 * RemotingConfiguration.cs: Modified to work with new types of identities.
449 * ObjRef.cs: Added initialization of channel info in default constructor.
450 * Identity.cs: Added support for WellKnownService objects.
452 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
454 * RemotingServices.cs:
455 (GetMethodBaseFromMethodMessage): fixed to make it also work with
456 internal methods without MethodSignature (see ApplicationHost.cs).
458 2003-02-03 Patrik Torstensson
460 * ObjRef.cs: added copy constructor and two helpers for cross
461 appdomain message marshalling.
462 * RemotingServices.cs: Added helper to create transparant proxy for appdomain, and
463 register internal cross appdomain channel.
465 2003-01-29 Lluis Sanchez Gual <lluis@ideary.com>
467 * RemotingServices.cs: Added support for WellKnownService objects.
468 * RemotingConfiguration.cs: Implemented most of methods (Configure is not working yet).
469 * ObjRef.cs: Added initialization of channel info in default constructor.
470 * Identity.cs: Added support for WellKnownService objects.
472 2003-01-28 Patrik Torstensson
474 * ObjRef.cs: Fixed Objref marshalling flags
476 2003-01-24 Lluis Sanchez Gual <lluis@ideary.com>
478 * RemotingServices.cs: Implemented some missing methods: IsMethodOverloaded,
479 SetObjectUriForMarshal, IsOneWay, IsObjectOutOfAppDomain,
480 IsObjectOutOfContext, GetObjRefForProxy, GetObjectData,
481 GetMethodBaseFromMethodMessage.
482 * TypeInfo.cs: Added.
483 * ObjRef.cs: Implemented serialization and added support for IRemotingTypeInfo.
485 2002-12-28 Lluis Sanchez Gual <lluis@ideary.com>
487 * SoapServices.cs: Implemented some methods
489 2002-12-20 Lluis Sanchez Gual <lluis@ideary.com>
491 * ObjRef.cs: Implementation now based on methods of RemotingServices.
492 * RemotingServices.cs: Remoting information now kept in Identity objects.
493 All methods adapted to work with identities.
494 Renamed ExecuteMessage to InternalExecuteMessage. ExecuteMessage should
495 not make a direct call to the object.
496 * Identity.cs: added.
498 2002-12-11 Jaime Anguiano Olarra <jaime@gnome.org>
500 * RemotingConfiguration.cs: added to the CVS.
502 2002-11-29 Jaime Anguiano Olarra <jaime@gnome.org>
504 * ObjectHandle.cs: added implementation for InitializeLifetimeService
508 2002-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
510 * SoapServices.cs: fix error CS3005.
512 2002-09-03 Dietmar Maurer <dietmar@ximian.com>
514 * RemotingServices.cs: add an unique app_id string used to generate
517 * ObjRef.cs: added serialization support
519 2002-08-31 Dietmar Maurer <dietmar@ximian.com>
521 * ObjRef.cs: gather the channel date at creation time.
523 2002-08-20 Dietmar Maurer <dietmar@ximian.com>
525 * RemotingServices.cs: Connect impl.
527 2002-08-02 Duncan Mak <duncan@ximian.com>
529 * ActivatedClientTypeEntry.cs:
530 * ActivatedServiceTypeEntry.cs:
531 * WellKnownClientTypeEntry.cs:
532 * WellKnownServiceTypeEntry.cs: Various visibility fixes.
534 2002-07-31 Duncan Mak <duncan@ximian.com>
537 * ActivatedClientTypeEntry.cs:
538 * ActivatedServiceTypeEntry.cs:
539 * WellKnownClientTypeEntry.cs:
540 * WellKnownServiceTypeEntry.cs: Added all the classes derived from TypeEntry.
542 * RemotingException.cs:
543 * RemotingTimeoutException.cs:
544 * ServerException.cs: Added missing exceptions.
548 * IRemotingTypeInfo.cs: Added missing interfaces.
550 2002-07-24 Duncan Mak <duncan@ximian.com>
552 * LeaseState.cs: Moved to System.Runtime.Remoting.Lifetime.
554 * SoapMethodOption.cs:
555 * SoapOption.cs: Removed and merged into System.Runtime.Remoting.Metadata.SoapOption.
557 2002-07-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
559 * IObjectHandle.cs: New file.
560 * ObjectHandle.cs: implemented constructor and Unwrap.
562 2002-01-05 Ravi Pratap <ravi@ximian.com>
564 * ObjRef.cs : Strew the MonoTODO attribute.
566 2001-09-02 Miguel de Icaza <miguel@ximian.com>
568 * ObjRef.cs: Include System.Runtime.Serialization