예제 #1
0
            protected override IRequestChannel CreateClientChannel(EndpointAddress target, Uri via)
            {
                IRequestChannel innerChannel = this.channelFactory.CreateChannel(base.IssuerAddress);

                if (this.channelParameters != null)
                {
                    this.channelParameters.PropagateChannelParameters(innerChannel);
                }
                if (this.ownCredentialsHandle)
                {
                    ChannelParameterCollection property = innerChannel.GetProperty <ChannelParameterCollection>();
                    if (property != null)
                    {
                        property.Add(new SspiIssuanceChannelParameter(true, this.credentialsHandle));
                    }
                }
                this.ReplaceSspiIssuanceChannelParameter(innerChannel.GetProperty <ChannelParameterCollection>(), new SspiIssuanceChannelParameter(true, this.credentialsHandle));
                return(innerChannel);
            }
예제 #2
0
            protected override IRequestChannel CreateClientChannel(EndpointAddress target, Uri via)
            {
                IRequestChannel result = this.channelFactory.CreateChannel(this.IssuerAddress);

                if (this.channelParameters != null)
                {
                    this.channelParameters.PropagateChannelParameters(result);
                }
                if (this.ownCredentialsHandle)
                {
                    ChannelParameterCollection newParameters = result.GetProperty <ChannelParameterCollection>();
                    if (newParameters != null)
                    {
                        newParameters.Add(new SspiIssuanceChannelParameter(true, this.credentialsHandle));
                    }
                }
                ReplaceSspiIssuanceChannelParameter(result.GetProperty <ChannelParameterCollection>(), new SspiIssuanceChannelParameter(true, this.credentialsHandle));

                return(result);
            }
예제 #3
0
        protected override IRequestChannel CreateClientChannel(EndpointAddress target, Uri via)
        {
            IRequestChannel channel = base.CreateClientChannel(target, via);

            if (!System.ServiceModel.Security.SecurityUtils.IsChannelBindingDisabled && (this.securityBindingElement is TransportSecurityBindingElement))
            {
                IChannelBindingProvider property = channel.GetProperty <IChannelBindingProvider>();
                if (property != null)
                {
                    property.EnableChannelBindingSupport();
                }
            }
            return(channel);
        }
        protected override IRequestChannel CreateClientChannel(EndpointAddress target, Uri via)
        {
            IRequestChannel rstChannel = base.CreateClientChannel(target, via);

            if (!SecurityUtils.IsChannelBindingDisabled && (this.securityBindingElement is TransportSecurityBindingElement))
            {
                // enable channel binding on this side channel
                IChannelBindingProvider cbp = rstChannel.GetProperty <IChannelBindingProvider>();
                if (cbp != null)
                {
                    cbp.EnableChannelBindingSupport();
                }
            }

            return(rstChannel);
        }
예제 #5
0
 public T GetProperty <T>() where T : class
 {
     return(_innerChannel.GetProperty <T>());
 }
예제 #6
0
        // IChannel

        public virtual T GetProperty <T> () where T : class
        {
            return(inner.GetProperty <T> ());
        }