protected internal override BindingElement CreateBindingElement()
        {
            ByteStreamMessageEncodingBindingElement binding = new ByteStreamMessageEncodingBindingElement();

            this.ApplyConfiguration(binding);
            return(binding);
        }
        protected internal override void InitializeFrom(BindingElement bindingElement)
        {
            base.InitializeFrom(bindingElement);
            ByteStreamMessageEncodingBindingElement element = (ByteStreamMessageEncodingBindingElement)bindingElement;

            this.InitializeFrom(element.ReaderQuotas);
        }
        public override void ApplyConfiguration(BindingElement bindingElement)
        {
            base.ApplyConfiguration(bindingElement);
            ByteStreamMessageEncodingBindingElement binding = (ByteStreamMessageEncodingBindingElement)bindingElement;

            this.ApplyConfiguration(binding.ReaderQuotas);
        }
예제 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="https"></param>
        /// <param name="sendBufferSize"></param>
        /// <param name="receiveBufferSize"></param>
        /// <param name="subProtocol"></param>
        /// <returns></returns>
        public static Binding CreateWebSocketBinding(bool https, int sendBufferSize = 0, int receiveBufferSize = 0, string subProtocol = null)
        {
            ByteStreamMessageEncodingBindingElement byteStreamMessageEncodingBindingElement = new ByteStreamMessageEncodingBindingElement();

            byteStreamMessageEncodingBindingElement.MessageVersion = MessageVersion.None;
            HttpTransportBindingElement httpTransportBindingElement = https ? new HttpsTransportBindingElement() : new HttpTransportBindingElement();

            httpTransportBindingElement.WebSocketSettings.TransportUsage = WebSocketTransportUsage.Always;
            httpTransportBindingElement.WebSocketSettings.CreateNotificationOnConnection = true;
            if (subProtocol != null)
            {
                httpTransportBindingElement.WebSocketSettings.SubProtocol = subProtocol;
            }
            return(new CustomBinding(new BindingElement[]
            {
                byteStreamMessageEncodingBindingElement,
                httpTransportBindingElement
            })
            {
                ReceiveTimeout = TimeSpan.FromHours(24.0)
            });
        }
 public ByteStreamHttpBinding()
 {
     this.httpTransport = new HttpTransportBindingElement();
     this.byteStreamEncoding = new ByteStreamMessageEncodingBindingElement();
 }
 protected internal override BindingElement CreateBindingElement()
 {
     ByteStreamMessageEncodingBindingElement binding = new ByteStreamMessageEncodingBindingElement();
     this.ApplyConfiguration(binding);
     return binding;
 }
 public ByteStreamHttpBinding()
 {
     this.httpTransport      = new HttpTransportBindingElement();
     this.byteStreamEncoding = new ByteStreamMessageEncodingBindingElement();
 }