internal MethodResponse(IMethodCallMessage msg, Object handlerObject, BinaryMethodReturnMessage smuggledMrm) { if (msg != null) { MI = (MethodBase)msg.MethodBase; _methodCache = InternalRemotingServices.GetReflectionCachedData(MI); methodName = msg.MethodName; uri = msg.Uri; typeName = msg.TypeName; if (_methodCache.IsOverloaded()) methodSignature = (Type[])msg.MethodSignature; argCount = _methodCache.Parameters.Length; } retVal = smuggledMrm.ReturnValue; outArgs = smuggledMrm.Args; fault = smuggledMrm.Exception; callContext = smuggledMrm.LogicalCallContext; if (smuggledMrm.HasProperties) smuggledMrm.PopulateMessageProperties(Properties); fSoap = false; }
internal MethodResponse(IMethodCallMessage msg, SmuggledMethodReturnMessage smuggledMrm, ArrayList deserializedArgs) { MI = (MethodBase)msg.MethodBase; _methodCache = InternalRemotingServices.GetReflectionCachedData(MI); methodName = msg.MethodName; uri = msg.Uri; typeName = msg.TypeName; if (_methodCache.IsOverloaded()) methodSignature = (Type[])msg.MethodSignature; retVal = smuggledMrm.GetReturnValue(deserializedArgs); outArgs = smuggledMrm.GetArgs(deserializedArgs); fault = smuggledMrm.GetException(deserializedArgs); callContext = smuggledMrm.GetCallContext(deserializedArgs); if (smuggledMrm.MessagePropertyCount > 0) smuggledMrm.PopulateMessageProperties(Properties, deserializedArgs); argCount = _methodCache.Parameters.Length; fSoap = false; }