コード例 #1
0
 internal MethodCall(object handlerObject, BinaryMethodCallMessage smuggledMsg)
 {
     if (handlerObject != null)
     {
         this.uri = handlerObject as string;
         if (this.uri == null)
         {
             MarshalByRefObject obj2 = handlerObject as MarshalByRefObject;
             if (obj2 != null)
             {
                 bool flag;
                 this.srvID = MarshalByRefObject.GetIdentity(obj2, out flag) as ServerIdentity;
                 this.uri = this.srvID.URI;
             }
         }
     }
     this.typeName = smuggledMsg.TypeName;
     this.methodName = smuggledMsg.MethodName;
     this.methodSignature = (Type[]) smuggledMsg.MethodSignature;
     this.args = smuggledMsg.Args;
     this.instArgs = smuggledMsg.InstantiationArgs;
     this.callContext = smuggledMsg.LogicalCallContext;
     this.ResolveMethod();
     if (smuggledMsg.HasProperties)
     {
         smuggledMsg.PopulateMessageProperties(this.Properties);
     }
 }
コード例 #2
0
ファイル: MethodCall.cs プロジェクト: Profit0004/mono
        internal MethodCall (Object handlerObject, BinaryMethodCallMessage smuggledMsg)
        {
            if (handlerObject != null)
            {
                _uri = handlerObject as String;
                if (_uri == null)
                {
                    // This must be the tranparent proxy
                    MarshalByRefObject mbr = handlerObject as MarshalByRefObject;
                    if (mbr != null)
                    {
                    	throw new NotImplementedException ("MarshalByRefObject.GetIdentity");
/*
                        bool fServer;
                        srvID = MarshalByRefObject.GetIdentity(mbr, out fServer) as ServerIdentity; 
                        uri = srvID.URI;
*/
                    }
                }
            }

            _typeName = smuggledMsg.TypeName;
            _methodName = smuggledMsg.MethodName;
            _methodSignature = (Type[])smuggledMsg.MethodSignature;
            _args = smuggledMsg.Args;
            _genericArguments = smuggledMsg.InstantiationArgs;
            _callContext = smuggledMsg.LogicalCallContext;

            ResolveMethod();

            if (smuggledMsg.HasProperties)
                smuggledMsg.PopulateMessageProperties(Properties);
        }
コード例 #3
0
ファイル: message.cs プロジェクト: ArildF/masters
        internal MethodCall(Object handlerObject, BinaryMethodCallMessage smuggledMsg)
        {
            if (handlerObject != null)
            {
                uri = handlerObject as String;
                if (uri == null)
                {
                    // This must be the tranparent proxy
                    MarshalByRefObject mbr = handlerObject as MarshalByRefObject;
                    if (mbr != null)
                    {                      
						bool fServer;
                        srvID = MarshalByRefObject.GetIdentity(mbr, out fServer) as ServerIdentity; 
                        uri = srvID.URI;
                    }
                }
            }

            typeName = smuggledMsg.TypeName;
            methodName = smuggledMsg.MethodName;
            methodSignature = (Type[])smuggledMsg.MethodSignature;
            args = smuggledMsg.Args;
            callContext = smuggledMsg.LogicalCallContext;

            ResolveMethod();

            if (smuggledMsg.HasProperties)
                smuggledMsg.PopulateMessageProperties(Properties);
        }