6 Appendix A: Full Definitions
For ease of implementation, the complete definitions of Remoting Types and Server Interfaces are provided below.
The following Primitive Types are defined in [MS-NRTP] section 2.2.5:
Int32
String
TimeSpan
The remainder of this appendix lists the definitions of the elements that constitute the .NET Remoting: Lifetime Services Extension.
-
namespace System.Collections { class ArrayList { System.Object[] _items; Int32 _size; Int32 _version; } } namespace System.Runtime.Remoting.Lifetime { interface ILease { TimeSpan Renew(TimeSpan renewalTime); void Register(System.Runtime.Remoting.ISponsor sponsor); void Register(System.Runtime.Remoting.ISponsor sponsor, TimeSpan renewalTime); void Unregister(System.Runtime.Remoting.ISponsor sponsor); TimeSpan get_InitialLeaseTime(); void set_InitialLeaseTime(TimeSpan value); TimeSpan get_RenewOnCallTime(); void set_RenewOnCallTime(TimeSpan value); TimeSpan get_SponsorshipTimeout(); void set_SponsorshipTimeout(System.Timespan value); TimeSpan get_CurrentLeaseTime(); System.Runtime.Remoting.LeaseState get_CurrentState(); } interface ISponsor { TimeSpan Renewal(); } enum LeaseState : Int32 { Null = 0, Initial = 1, Active = 2, Renewing = 3, Expired = 4 } } namespace System.Runtime.Remoting.Messaging { class ConstructionCall { String __Uri; String __MethodName; System.Type[] __MethodSignature; String __TypeName; System.Object[] __Args; System.Object __CallContext; System.Type __ActivationType; System.Object __Activator; String __ActivationTypeName; System.Collections.ArrayList __ContextProperties; System.Object[] __CallSiteActivationAttributes; } class ConstructionResponse { String __Uri; String __MethodName; String __TypeName; System.Object __Return; System.Object[] __OutArgs; System.Object __CallContext; } } namespace System.Runtime.Remoting.Activation { interface IActivator { System.Runtime.Remoting.Messaging.ConstructionResponse Activate( System.Runtime.Remoting.Messaging.ConstructionCall callMessage); } } namespace System { interface MarshalByRefObject { System.Runtime.Remoting.ILease GetLifetimeService(); } interface Object { void FieldGetter(String typeName, String fieldName, ref System.Object val); void FieldSetter(String typeName, String fieldName, System.Object val); } }