Esempio n. 1
0
        public ServiceClient <TService> CreateSecuredServiceClient <TService>(
            string hostName,
            ISerializerFactory serializerFactory,
            RemoteCertificateValidationCallback serverCertificateValidationCallback,
            LocalCertificateSelectionCallback clientCertificateSelectionCallback,
            ClientParameters parameters = null) where TService : class
        {
            var serviceDescriptor = ServiceDescriptor.Of <TService>();
            var tcpClient         = new SslRpcTcpClient(
                hostName,
                serviceDescriptor.ServicePort,
                _objectsPoolRegistrar,
                _dateTimeProvider,
                serializerFactory,
                serverCertificateValidationCallback,
                clientCertificateSelectionCallback,
                _logger,
                parameters);

            return(CreateServiceClientInstance <TService>(
                       hostName,
                       _logger,
                       serializerFactory,
                       serviceDescriptor,
                       tcpClient));
        }
Esempio n. 2
0
        protected RpcTcpClientBase(
            string hostName,
            int port,
            IObjectsPoolsRegistrar poolsRegistrar,
            IDateTimeProvider dateTimeProvider,
            ISerializerFactory serializerFactory,
            ILogger logger,
            ClientParameters parameters)
        {
            HostName = hostName;
            _port    = port;
            if (parameters == null)
            {
                _connectionsPool = new ObjectsPool <TcpClientHolder>(
                    new PooledItemManager <TcpClientHolder>(CreateTcpClient, CloseTcpClient),
                    poolsRegistrar,
                    dateTimeProvider,
                    logger);
            }
            else
            {
                _connectionsPool = new ObjectsPool <TcpClientHolder>(
                    new PooledItemManager <TcpClientHolder>(CreateTcpClient, CloseTcpClient),
                    poolsRegistrar,
                    dateTimeProvider,
                    logger,
                    parameters.ConnectionPoolSize);
            }

            _logger = logger;
            _serviceCallResultSerializer = serializerFactory.CreateSerializer <ServiceCallResult>();
        }
Esempio n. 3
0
 public SslRpcTcpClient(
     string hostName,
     int port,
     IObjectsPoolsRegistrar poolsRegistrar,
     IDateTimeProvider dateTimeProvider,
     ISerializerFactory serializerFactory,
     RemoteCertificateValidationCallback serverCertificateValidationCallback,
     ILogger logger,
     ClientParameters parameters) :
     base(hostName, port, poolsRegistrar, dateTimeProvider, serializerFactory, logger, parameters)
 {
     _serverCertificateValidationCallback = serverCertificateValidationCallback;
 }
 public UnprotectedRpcTcpClient(
     string hostName,
     int port,
     IObjectsPoolsRegistrar poolsRegistrar,
     IDateTimeProvider dateTimeProvider,
     ISerializerFactory serializerFactory,
     ILogger logger,
     ClientParameters parameters) : base(
         hostName,
         port,
         poolsRegistrar,
         dateTimeProvider,
         serializerFactory,
         logger,
         parameters)
 {
 }
Esempio n. 5
0
        public ServiceClient <TService> CreateServiceClient <TService>(
            string hostName,
            ISerializerFactory serializerFactory,
            ClientParameters parameters = null) where TService : class
        {
            var serviceDescriptor = ServiceDescriptor.Of <TService>();
            var tcpClient         = new UnprotectedRpcTcpClient(
                hostName,
                serviceDescriptor.ServicePort,
                _objectsPoolRegistrar,
                _dateTimeProvider,
                serializerFactory,
                _logger,
                parameters);

            return(CreateServiceClientInstance <TService>(
                       hostName,
                       _logger,
                       serializerFactory,
                       serviceDescriptor,
                       tcpClient));
        }