internal static bool IsInitialized() { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; LeaseManager leaseManager = remotingData.LeaseManager; return(leaseManager != null); }
private static void Startup() { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (!remotingData.ActivationInitialized || remotingData.InitializingActivation) { object configLock = remotingData.ConfigLock; bool lockTaken = false; RuntimeHelpers.PrepareConstrainedRegions(); try { Monitor.Enter(configLock, ref lockTaken); remotingData.InitializingActivation = true; if (!remotingData.ActivationInitialized) { remotingData.LocalActivator = new LocalActivator(); remotingData.ActivationListener = new ActivationListener(); remotingData.ActivationInitialized = true; } remotingData.InitializingActivation = false; } finally { if (lockTaken) { Monitor.Exit(configLock); } } } }
internal static void StartListeningForRemoteRequests() { Startup(); DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (!remotingData.ActivatorListening) { object configLock = remotingData.ConfigLock; bool lockTaken = false; RuntimeHelpers.PrepareConstrainedRegions(); try { Monitor.Enter(configLock, ref lockTaken); if (!remotingData.ActivatorListening) { RemotingServices.MarshalInternal(Thread.GetDomain().RemotingData.ActivationListener, "RemoteActivationService.rem", typeof(IActivator)); ((ServerIdentity)IdentityHolder.ResolveIdentity("RemoteActivationService.rem")).SetSingletonObjectMode(); remotingData.ActivatorListening = true; } } finally { if (lockTaken) { Monitor.Exit(configLock); } } } }
private Context(int flags) { this._ctxFlags = flags; if ((this._ctxFlags & 1) != 0) { this._ctxID = 0; } else { this._ctxID = Interlocked.Increment(ref Context._ctxIDCounter); } DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (remotingData != null) { IContextProperty[] appDomainContextProperties = remotingData.AppDomainContextProperties; if (appDomainContextProperties != null) { for (int i = 0; i < appDomainContextProperties.Length; i++) { this.SetProperty(appDomainContextProperties[i]); } } } if ((this._ctxFlags & 1) != 0) { this.Freeze(); } this.SetupInternalContext((this._ctxFlags & 1) == 1); }
internal static LeaseManager GetLeaseManager() { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; LeaseManager leaseManager = remotingData.LeaseManager; BCLDebug.Assert(leaseManager != null, "[LeaseManager.GetLeaseManager()]leaseManager !=null"); return(leaseManager); }
internal static ContextAttribute GetGlobalAttribute() { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (remotingData.LocalActivator == null) { Startup(); } return(remotingData.LocalActivator); }
internal static IActivator GetActivator() { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (remotingData.LocalActivator == null) { Startup(); } return(remotingData.LocalActivator); }
internal static LeaseManager GetLeaseManager(TimeSpan pollTime) { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; LeaseManager leaseManager = remotingData.LeaseManager; if (leaseManager == null) { leaseManager = new LeaseManager(pollTime); remotingData.LeaseManager = leaseManager; } return(leaseManager); }
private Context(int flags) { _ctxFlags = flags; if ((_ctxFlags & CTX_DEFAULT_CONTEXT) != 0) { _ctxID = 0; // ID 0 == default context } else { _ctxID = Interlocked.Increment(ref _ctxIDCounter); } // Every context inherits the appdomain level properties // Get the properties for the appdomain and add it to // this context. DomainSpecificRemotingData data = Thread.GetDomain().RemotingData; if (null != data) { IContextProperty[] ctxProps = data.AppDomainContextProperties; if (null != ctxProps) { for (int i = 0; i < ctxProps.Length; i++) { SetProperty(ctxProps[i]); } } } // Freeze the default context now if ((_ctxFlags & CTX_DEFAULT_CONTEXT) != 0) { this.Freeze(); } // This call will set up the cycles between the VM & managed context // It will also set the managed context's AppDomain property to // the current AppDomain.Will also publish ifthe default ctx, so should be // in the very end SetupInternalContext((_ctxFlags & CTX_DEFAULT_CONTEXT) == CTX_DEFAULT_CONTEXT); Message.DebugOut("Creating Context with ID " + _ctxID + " and flags " + flags + " " + Environment.NewLine); }
private Context(int flags) { this._ctxFlags = flags; this._ctxID = (this._ctxFlags & 1) == 0 ? Interlocked.Increment(ref Context._ctxIDCounter) : 0; DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (remotingData != null) { IContextProperty[] contextProperties = remotingData.AppDomainContextProperties; if (contextProperties != null) { for (int index = 0; index < contextProperties.Length; ++index) { this.SetProperty(contextProperties[index]); } } } if ((this._ctxFlags & 1) != 0) { this.Freeze(); } this.SetupInternalContext((this._ctxFlags & 1) == 1); }
// Token: 0x0600582E RID: 22574 RVA: 0x00135D20 File Offset: 0x00133F20 internal static LeaseManager GetLeaseManager() { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; return(remotingData.LeaseManager); }