public void DeclineConnection(TwoWayRemotingConnectionEventArgs connectionArgs, string reason)
        {
            if (connectionArgs != null && connectionArgs.ClientObject != null)
            {
                ConnectionRequestResultEventArgs cr = new ConnectionRequestResultEventArgs(false, reason);

                InternalCallClientMethodAsync(connectionArgs.ClientObject, connectionArgs.ClientUri, "OnConnectionDenied", false, cr);
            }
        }
        public void Connect(ITwoWayRemotingClient remotingClient, string responseChannelName, string sessionKey, string username, string password)
        {
            System.Diagnostics.Trace.WriteLine("************** Connecting!!!");

            ITwoWayRemotingClient client = (ITwoWayRemotingClient)Activator.GetObject(typeof(ITwoWayRemotingClient), string.Format("{0}", RemotingServices.GetObjectUri((MarshalByRefObject)remotingClient), responseChannelName));

            System.Diagnostics.Trace.WriteLine("************** Connecting2");

            if (ClientRequestingConnection != null)
            {
                TwoWayRemotingConnectionEventArgs e = new TwoWayRemotingConnectionEventArgs(client, sessionKey, username, password);

                ClientRequestingConnection(this, e);
            }
        }
        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);
                }
            }
        }