Exemple #1
0
        public override IChannelFactory <TChannel> BuildChannelFactory <TChannel>(BindingContext context)
        {
            var clientCredentials = context.BindingParameters.OfType <ClientCredentials>().SingleOrDefault();

            if (clientCredentials == null || clientCredentials.ClientCertificate == null || clientCredentials.ClientCertificate.Certificate == null)
            {
                throw new InvalidOperationException("No Client certificate was configured.");
            }

            var innerFactory = context.BuildInnerChannelFactory <IRequestChannel>();
            var factory      = new SignatureCaseChannelFactory(innerFactory, clientCredentials.ClientCertificate.Certificate, _stsCertificate);

            return((IChannelFactory <TChannel>)factory);
        }
 public SignatureCaseChannel(SignatureCaseChannelFactory channelManager, IRequestChannel innerChannel)
     : base(channelManager)
 {
     if (channelManager == null)
     {
         throw new ArgumentNullException("channelManager");
     }
     if (innerChannel == null)
     {
         throw new ArgumentNullException("innerChannel");
     }
     _channelManager = channelManager;
     _innerChannel   = innerChannel;
 }