예제 #1
0
        public RpcDuplexCallbackChannel(string protocol, string serverUri, RpcConnection conn, RpcClientChannel channel)
            : base(protocol, serverUri)
        {
            _connection = conn;
            _channel    = channel;

            p_channelSettings = _channel.DefaultSettings;
        }
예제 #2
0
        public RpcDuplexClient(ServerUri serverUri)
        {
            _serverUri = serverUri;

            _channel = RpcProxyFactory.GetChannel(serverUri);
            _timeout = _channel.Timeout;

            _connection = _channel.CreateConnection(serverUri, RpcConnectionMode.Duplex);
            _connection.Disconnected += new Action <RpcConnection>(
                (c) =>
            {
                OnDisconnected();
            }
                );
            _connection.TransactionCreated += new Action <RpcConnection, RpcServerTransaction>(
                (c, tx) =>
            {
                _dispatcher.ProcessTransaction(tx);
            }
                );

            _dispatcher = new RpcServiceDispather("duplex");
        }
예제 #3
0
 public RpcSimplexConnection(RpcClientChannel channel, ServerUri uri)
     : base(RpcConnectionMode.Simplex, RpcConnectionDirection.Client)
 {
     _channel   = channel;
     _serverUri = uri;
 }