public void CallClientMethodAsync(ITwoWayRemotingClient clientObject, string methodName, bool disconnectOnException, params object[] methodArgs)
        {
            // Get the session ID for the client object
            TwoWayRemotingClientConnectionInfo ci = GetConnectionInfo(clientObject);

            if (ci != null)
            {
                InternalCallClientMethodAsync(clientObject, ci.RemoteUri, "CallClientMethod", disconnectOnException, ci.SessionKey, methodName, methodArgs);
            }
        }
        public void AcceptConnection(TwoWayRemotingConnectionEventArgs connectionArgs)
        {
            if (connectionArgs != null && connectionArgs.ClientObject != null)
            {
                ConnectionRequestResultEventArgs cr = new ConnectionRequestResultEventArgs(true, null);

                InternalCallClientMethodAsync(connectionArgs.ClientObject, connectionArgs.ClientUri, "OnConnectionAccepted", false, cr);

                TwoWayRemotingClientConnectionInfo ci = new TwoWayRemotingClientConnectionInfo(connectionArgs.ClientObject, connectionArgs.SessionKey);
                lock (connectedClients)
                {
                    connectedClients.Add(ci.RemoteUri, ci);
                }

                if (ClientConnected != null)
                {
                    ClientConnected(this, connectionArgs);
                }
            }
        }
        public void AcceptConnection(TwoWayRemotingConnectionEventArgs connectionArgs)
        {
            if (connectionArgs != null && connectionArgs.ClientObject != null)
            {
                ConnectionRequestResultEventArgs cr = new ConnectionRequestResultEventArgs(true, null);

                InternalCallClientMethodAsync(connectionArgs.ClientObject, connectionArgs.ClientUri, "OnConnectionAccepted", false, cr);

                TwoWayRemotingClientConnectionInfo ci = new TwoWayRemotingClientConnectionInfo(connectionArgs.ClientObject, connectionArgs.SessionKey);
                lock (connectedClients)
                {
                    connectedClients.Add(ci.RemoteUri, ci);
                }

                if (ClientConnected != null)
                    ClientConnected(this, connectionArgs);
            }
        }