internal static void StartListeningForRemoteRequests() { ActivationServices.Startup(); DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (remotingData.ActivatorListening) { return; } object configLock = remotingData.ConfigLock; bool lockTaken = false; RuntimeHelpers.PrepareConstrainedRegions(); try { Monitor.Enter(configLock, ref lockTaken); if (remotingData.ActivatorListening) { return; } RemotingServices.MarshalInternal((MarshalByRefObject)Thread.GetDomain().RemotingData.ActivationListener, "RemoteActivationService.rem", typeof(IActivator)); ((ServerIdentity)IdentityHolder.ResolveIdentity("RemoteActivationService.rem")).SetSingletonObjectMode(); remotingData.ActivatorListening = true; } finally { if (lockTaken) { Monitor.Exit(configLock); } } }
internal static void StartListeningForRemoteRequests() { ActivationServices.Startup(); DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (!remotingData.ActivatorListening) { object configLock = remotingData.ConfigLock; bool flag = false; RuntimeHelpers.PrepareConstrainedRegions(); try { Monitor.Enter(configLock, ref flag); if (!remotingData.ActivatorListening) { RemotingServices.MarshalInternal(Thread.GetDomain().RemotingData.ActivationListener, "RemoteActivationService.rem", typeof(IActivator)); ServerIdentity serverIdentity = (ServerIdentity)IdentityHolder.ResolveIdentity("RemoteActivationService.rem"); serverIdentity.SetSingletonObjectMode(); remotingData.ActivatorListening = true; } } finally { if (flag) { Monitor.Exit(configLock); } } } }
internal static ContextAttribute GetGlobalAttribute() { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (remotingData.LocalActivator == null) { ActivationServices.Startup(); } return((ContextAttribute)remotingData.LocalActivator); }
internal static IActivator GetActivator() { DomainSpecificRemotingData remotingData = Thread.GetDomain().RemotingData; if (remotingData.LocalActivator == null) { ActivationServices.Startup(); } return((IActivator)remotingData.LocalActivator); }