Esempio n. 1
0
 internal HttpsRequestChannel(HttpChannelFactory factory,
                              EndpointAddress to,
                              Uri via,
                              MessageEncoder encoder,
                              HttpsTransportBindingElement bindingElement) : base(factory, to, via, encoder, bindingElement)
 {
 }
Esempio n. 2
0
        internal HttpRequestChannel(HttpChannelFactory factory,
                                    EndpointAddress to,
                                    Uri via,
                                    MessageEncoder encoder,
                                    HttpTransportBindingElement bindingElement)
            : base(factory)
        {
            _nonceBack    = "";
            _nonceCounter = 0;

            if (to == null)
            {
                throw new ArgumentNullException("to");
            }

            this._factory = factory;
            this._to      = to;
            this._via     = via;
            this._encoder = encoder;

            _listeners = new List <ITrafficListener>();

            foreach (IChannelController controller in bindingElement.Controllers)
            {
                if (controller is ITrafficListener)
                {
                    _listeners.Add((ITrafficListener)controller);
                }

                if (controller is IEndpointController)
                {
                    if (_endpointController != null)
                    {
                        throw new ApplicationException("Only one channel controller of type IAddressProvider can be set");
                    }
                    _endpointController = (IEndpointController)controller;
                }
                if (controller is IExecutionController)
                {
                    if (_executionController != null)
                    {
                        throw new ApplicationException("Only one channel controller of type IExecutionController can be set");
                    }
                    _executionController = (IExecutionController)controller;
                }
                if (controller is ICredentialsProvider)
                {
                    _credentialsProvider = controller as ICredentialsProvider;
                }
                if (controller is IWsaController)
                {
                    _wsaController = controller as IWsaController;
                }
            }
            this._networkStream = new RequestNetworkStream(to);

            this._bufferManager = BufferManager.CreateBufferManager(bindingElement.MaxBufferPoolSize, (int)bindingElement.MaxReceivedMessageSize);
        }