public override IMessage Invoke(IMessage reqMsg)
{
IConstructionCallMessage message1 = reqMsg as IConstructionCallMessage;
if (message1 != null)
{
return this.InternalActivate(message1);
}
if (!base.Initialized)
{
if (this.CtorThread != Thread.CurrentThread.GetHashCode())
{
throw new RemotingException(Environment.GetResourceString("Remoting_Proxy_InvalidCall"));
}
ServerIdentity identity1 = this.IdentityObject as ServerIdentity;
RemotingServices.Wrap((ContextBoundObject) base.UnwrappedServerObject);
}
int num1 = 0;
Message message2 = reqMsg as Message;
if (message2 != null)
{
num1 = message2.GetCallType();
}
return this.InternalInvoke((IMethodCallMessage) reqMsg, false, num1);
}