[System.Security.SecurityCritical]  // auto-generated
        internal static Identity GetIdentity(IMessage reqMsg)
        {
            Identity id = null;

            if (reqMsg is IInternalMessage)
            {
                id = ((IInternalMessage)reqMsg).IdentityObject;
            }
            else if (reqMsg is InternalMessageWrapper)
            {
                id = (Identity)((InternalMessageWrapper)reqMsg).GetIdentityObject();
            }

            // Try the slow path if the identity has not been obtained yet
            if (null == id)
            {
                String objURI = GetURI(reqMsg);

                id = IdentityHolder.ResolveIdentity(objURI);

                // An object could get disconnected on another thread while a call is in progress
                if (id == null)
                {
                    throw new ArgumentException(Environment.GetResourceString("Remoting_ServerObjectNotFound", objURI));
                }
            }

            return(id);
        }
Example #2
0
        internal static Identity GetIdentity(IMessage reqMsg)
        {
            Identity identity = null;

            if (reqMsg is IInternalMessage)
            {
                identity = ((IInternalMessage)reqMsg).IdentityObject;
            }
            else if (reqMsg is InternalMessageWrapper)
            {
                identity = (Identity)((InternalMessageWrapper)reqMsg).GetIdentityObject();
            }
            if (identity == null)
            {
                string uri = InternalSink.GetURI(reqMsg);
                identity = IdentityHolder.ResolveIdentity(uri);
                if (identity == null)
                {
                    throw new ArgumentException(Environment.GetResourceString("Remoting_ServerObjectNotFound", new object[]
                    {
                        uri
                    }));
                }
            }
            return(identity);
        }
Example #3
0
        internal static ServerIdentity GetServerIdentity(IMessage reqMsg)
        {
            ServerIdentity   serverIdentity  = null;
            bool             flag            = false;
            IInternalMessage internalMessage = reqMsg as IInternalMessage;

            if (internalMessage != null)
            {
                serverIdentity = ((IInternalMessage)reqMsg).ServerIdentityObject;
                flag           = true;
            }
            else if (reqMsg is InternalMessageWrapper)
            {
                serverIdentity = (ServerIdentity)((InternalMessageWrapper)reqMsg).GetServerIdentityObject();
            }
            if (serverIdentity == null)
            {
                string   uri      = InternalSink.GetURI(reqMsg);
                Identity identity = IdentityHolder.ResolveIdentity(uri);
                if (identity is ServerIdentity)
                {
                    serverIdentity = (ServerIdentity)identity;
                    if (flag)
                    {
                        internalMessage.ServerIdentityObject = serverIdentity;
                    }
                }
            }
            return(serverIdentity);
        }
        public static bool RegisterDynamicProperty(IDynamicProperty prop, ContextBoundObject obj, Context ctx)
        {
            bool fRegistered = false;

            if (prop == null || prop.Name == null || !(prop is IContributeDynamicSink))
            {
                throw new ArgumentNullException("prop");
            }
            if (obj != null && ctx != null)
            {
                // Exactly one of these is allowed to be non-null.
                throw new ArgumentException(Environment.GetResourceString("Argument_NonNullObjAndCtx"));
            }
            if (obj != null)
            {
                // ctx is ignored and must be null.
                fRegistered = IdentityHolder.AddDynamicProperty(obj, prop);
            }
            else
            {
                // ctx may or may not be null
                fRegistered = Context.AddDynamicProperty(ctx, prop);
            }

            return(fRegistered);
        }
Example #5
0
        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);
                    }
                }
            }
        }
Example #6
0
        internal static ServerIdentity GetServerIdentity(IMessage reqMsg)
        {
            ServerIdentity   serverIdentityObject = null;
            bool             flag    = false;
            IInternalMessage message = reqMsg as IInternalMessage;

            if (message != null)
            {
                serverIdentityObject = ((IInternalMessage)reqMsg).ServerIdentityObject;
                flag = true;
            }
            else if (reqMsg is InternalMessageWrapper)
            {
                serverIdentityObject = (ServerIdentity)((InternalMessageWrapper)reqMsg).GetServerIdentityObject();
            }
            if (serverIdentityObject == null)
            {
                Identity identity2 = IdentityHolder.ResolveIdentity(GetURI(reqMsg));
                if (identity2 is ServerIdentity)
                {
                    serverIdentityObject = (ServerIdentity)identity2;
                    if (flag)
                    {
                        message.ServerIdentityObject = serverIdentityObject;
                    }
                }
            }
            return(serverIdentityObject);
        }
        public static bool UnregisterDynamicProperty(String name, ContextBoundObject obj, Context ctx)
        {
            bool fUnregister = false;

            // name, obj, ctx arguments should be exactly the same as a previous
            // RegisterDynamicProperty call
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (obj != null && ctx != null)
            {
                throw new ArgumentException(Environment.GetResourceString("Argument_NonNullObjAndCtx"));
            }
            if (obj != null)
            {
                // ctx is ignored and must be null.
                fUnregister = IdentityHolder.RemoveDynamicProperty(obj, name);
            }
            else
            {
                // ctx may or may not be null
                fUnregister = Context.RemoveDynamicProperty(ctx, name);
            }

            return(fUnregister);
        }
 private void SetupIdentity()
 {
     if (this._identity == null)
     {
         this._identity = IdentityHolder.FindOrCreateServerIdentity(this._serverObject, null, 0);
         ((Identity)this._identity).RaceSetTransparentProxy(this.GetTransparentProxy());
     }
 }
Example #9
0
 private void SetupIdentity()
 {
     if (this._identity != null)
     {
         return;
     }
     this._identity = (object)IdentityHolder.FindOrCreateServerIdentity(this._serverObject, (string)null, 0);
     ((Identity)this._identity).RaceSetTransparentProxy(this.GetTransparentProxy());
 }
Example #10
0
 [System.Security.SecurityCritical]  // auto-generated
 private void SetupIdentity()
 {
     if (_identity == null)
     {
         _identity = IdentityHolder.FindOrCreateServerIdentity(
             (MarshalByRefObject)_serverObject,
             null,
             IdOps.None);
         // Set the reference to the proxy in the identity object
         ((Identity)_identity).RaceSetTransparentProxy(GetTransparentProxy());
     }
 }
Example #11
0
 public static bool UnregisterDynamicProperty(string name, ContextBoundObject obj, Context ctx)
 {
     if (name == null)
     {
         throw new ArgumentNullException("name");
     }
     if (obj != null && ctx != null)
     {
         throw new ArgumentException(Environment.GetResourceString("Argument_NonNullObjAndCtx"));
     }
     return(obj == null?Context.RemoveDynamicProperty(ctx, name) : IdentityHolder.RemoveDynamicProperty((MarshalByRefObject)obj, name));
 }
Example #12
0
 public static bool RegisterDynamicProperty(IDynamicProperty prop, ContextBoundObject obj, Context ctx)
 {
     if (prop == null || prop.Name == null || !(prop is IContributeDynamicSink))
     {
         throw new ArgumentNullException("prop");
     }
     if (obj != null && ctx != null)
     {
         throw new ArgumentException(Environment.GetResourceString("Argument_NonNullObjAndCtx"));
     }
     return(obj == null?Context.AddDynamicProperty(ctx, prop) : IdentityHolder.AddDynamicProperty((MarshalByRefObject)obj, prop));
 }
        [System.Security.SecurityCritical]  // auto-generated
        internal static ServerIdentity GetServerIdentity(IMessage reqMsg)
        {
            ServerIdentity srvID   = null;
            bool           bOurMsg = false;
            String         objURI  = null;

            IInternalMessage iim = reqMsg as IInternalMessage;

            if (iim != null)
            {
                Message.DebugOut("GetServerIdentity.ServerIdentity from IInternalMessage\n");
                srvID   = ((IInternalMessage)reqMsg).ServerIdentityObject;
                bOurMsg = true;
            }
            else if (reqMsg is InternalMessageWrapper)
            {
                srvID = (ServerIdentity)((InternalMessageWrapper)reqMsg).GetServerIdentityObject();
            }

            // Try the slow path if the identity has not been obtained yet
            if (null == srvID)
            {
                Message.DebugOut("GetServerIdentity.ServerIdentity from IMethodCallMessage\n");
                objURI = GetURI(reqMsg);
                Identity id =
                    IdentityHolder.ResolveIdentity(objURI);
                if (id is ServerIdentity)
                {
                    srvID = (ServerIdentity)id;

                    // Cache the serverIdentity in the message
                    if (bOurMsg)
                    {
                        iim.ServerIdentityObject = srvID;
                    }
                }
            }

            return(srvID);
        }
        public static bool UnregisterDynamicProperty(string name, ContextBoundObject obj, Context ctx)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (obj != null && ctx != null)
            {
                throw new ArgumentException(Environment.GetResourceString("Argument_NonNullObjAndCtx"));
            }
            bool result;

            if (obj != null)
            {
                result = IdentityHolder.RemoveDynamicProperty(obj, name);
            }
            else
            {
                result = Context.RemoveDynamicProperty(ctx, name);
            }
            return(result);
        }
Example #15
0
        internal Type ResolveType()
        {
            Type newType = (Type)null;

            if (this.srvID == null)
            {
                this.srvID = IdentityHolder.CasualResolveIdentity(this.uri) as ServerIdentity;
            }
            if (this.srvID != null)
            {
                Type lastCalledType = this.srvID.GetLastCalledType(this.typeName);
                if (lastCalledType != null)
                {
                    return(lastCalledType);
                }
                int num1 = 0;
                if (string.CompareOrdinal(this.typeName, 0, "clr:", 0, 4) == 0)
                {
                    num1 = 4;
                }
                int num2 = this.typeName.IndexOf(',', num1);
                if (num2 == -1)
                {
                    num2 = this.typeName.Length;
                }
                Type serverType = this.srvID.ServerType;
                newType = Type.ResolveTypeRelativeTo(this.typeName, num1, num2 - num1, serverType);
            }
            if (newType == null)
            {
                newType = RemotingServices.InternalGetTypeFromQualifiedTypeName(this.typeName);
            }
            if (this.srvID != null)
            {
                this.srvID.SetLastCalledType(this.typeName, newType);
            }
            return(newType);
        }
        // Token: 0x06005A4E RID: 23118 RVA: 0x0013BB58 File Offset: 0x00139D58
        internal Type ResolveType()
        {
            Type type = null;

            if (this.srvID == null)
            {
                this.srvID = (IdentityHolder.CasualResolveIdentity(this.uri) as ServerIdentity);
            }
            if (this.srvID != null)
            {
                Type type2 = this.srvID.GetLastCalledType(this.typeName);
                if (type2 != null)
                {
                    return(type2);
                }
                int num = 0;
                if (string.CompareOrdinal(this.typeName, 0, "clr:", 0, 4) == 0)
                {
                    num = 4;
                }
                int num2 = this.typeName.IndexOf(',', num);
                if (num2 == -1)
                {
                    num2 = this.typeName.Length;
                }
                type2 = this.srvID.ServerType;
                type  = MethodCall.ResolveTypeRelativeTo(this.typeName, num, num2 - num, type2);
            }
            if (type == null)
            {
                type = RemotingServices.InternalGetTypeFromQualifiedTypeName(this.typeName);
            }
            if (this.srvID != null)
            {
                this.srvID.SetLastCalledType(this.typeName, type);
            }
            return(type);
        }
        internal Type ResolveType()
        {
            Type newType = null;

            if (this.srvID == null)
            {
                this.srvID = IdentityHolder.CasualResolveIdentity(this.uri) as ServerIdentity;
            }
            if (this.srvID != null)
            {
                Type lastCalledType = this.srvID.GetLastCalledType(this.typeName);
                if (lastCalledType != null)
                {
                    return(lastCalledType);
                }
                int startIndex = 0;
                if (string.CompareOrdinal(this.typeName, 0, "clr:", 0, 4) == 0)
                {
                    startIndex = 4;
                }
                int index = this.typeName.IndexOf(',', startIndex);
                if (index == -1)
                {
                    index = this.typeName.Length;
                }
                lastCalledType = this.srvID.ServerType;
                newType        = ResolveTypeRelativeTo(this.typeName, startIndex, index - startIndex, lastCalledType);
            }
            if (newType == null)
            {
                newType = RemotingServices.InternalGetTypeFromQualifiedTypeName(this.typeName);
            }
            if (this.srvID != null)
            {
                this.srvID.SetLastCalledType(this.typeName, newType);
            }
            return(newType);
        }