コード例 #1
0
        public IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink)
        {
                        #if !DISABLE_REMOTING
            ServerIdentity identity = (ServerIdentity)RemotingServices.GetMessageTargetIdentity(msg);
            if (identity.HasServerDynamicSinks)
            {
                identity.NotifyServerDynamicSinks(true, msg, false, true);
                if (replySink != null)
                {
                    replySink = new ServerObjectReplySink(identity, replySink);
                }
            }

            IMessageCtrl res = _nextSink.AsyncProcessMessage(msg, replySink);

            if (replySink == null)
            {
                identity.NotifyServerDynamicSinks(false, msg, true, true);
            }

            return(res);
                        #else
            IMessageCtrl res = _nextSink.AsyncProcessMessage(msg, replySink);
            return(res);
                        #endif
        }
コード例 #2
0
		public IMessageCtrl AsyncProcessMessage (IMessage msg, IMessageSink replySink)
		{
			ServerIdentity identity = (ServerIdentity) RemotingServices.GetMessageTargetIdentity (msg);
			if (identity.HasServerDynamicSinks)
			{
				identity.NotifyServerDynamicSinks (true, msg, false, true);
				if (replySink != null) replySink = new ServerObjectReplySink(identity, replySink);
			}
			
			IMessageCtrl res = _nextSink.AsyncProcessMessage (msg, replySink);

			if (replySink == null)
				identity.NotifyServerDynamicSinks (false, msg, true, true);

			return res;
		}
コード例 #3
0
        public IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink)
        {
            ServerIdentity serverIdentity = (ServerIdentity)RemotingServices.GetMessageTargetIdentity(msg);

            if (serverIdentity.HasServerDynamicSinks)
            {
                serverIdentity.NotifyServerDynamicSinks(true, msg, false, true);
                if (replySink != null)
                {
                    replySink = new ServerObjectReplySink(serverIdentity, replySink);
                }
            }
            IMessageCtrl result = this._nextSink.AsyncProcessMessage(msg, replySink);

            if (replySink == null)
            {
                serverIdentity.NotifyServerDynamicSinks(false, msg, true, true);
            }
            return(result);
        }