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); }
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); }