/// <summary>
        /// Creates the service host.
        /// </summary>
        /// <param name="t">The t.</param>
        /// <param name="baseAddresses">The base addresses.</param>
        /// <returns>ServiceHost.</returns>
        protected override ServiceHost CreateServiceHost(Type t, Uri[] baseAddresses)
        {
            var serviceHost = new ServiceHost(t, baseAddresses);

            serviceHost.PrintHostInfo();

            var bnd = BindingFactory.CreateBindingFromKey(BindingFactory.Key.CustomValidationBasicHttpBindingTransportAndMessage);

            serviceHost.AddServiceEndpoint(typeof(IAuthentication), bnd, "");

            var scb = new ServiceCredentials();

            scb.UserNameAuthentication.UserNamePasswordValidationMode  = UserNamePasswordValidationMode.Custom;
            scb.UserNameAuthentication.CustomUserNamePasswordValidator = new Authentications();
            scb.ServiceCertificate.SetCertificate(CertificateHelper.GetStoreLocation(),
                                                  CertificateHelper.GetStoreName(),
                                                  X509FindType.FindBySubjectName,
                                                  CertificateHelper.GetCertificateSubject());

            serviceHost.Description.Behaviors.Add(scb);

            serviceHost.MakeAnnouncingService();

            serviceHost.PrintListeningEndpoints();

            return(serviceHost);
        }
Пример #2
0
        /// <summary>
        /// Creates the discovery client.
        /// </summary>
        /// <returns>DiscoveryClient.</returns>
        private static DiscoveryClient CreateDiscoveryClient()
        {
            var discoveryEndpoint = new DiscoveryEndpoint(
                BindingFactory.CreateBindingFromKey(BindingFactory.Key.WsHttpBindingNoSecurity),
                new EndpointAddress(new Uri(ConfigurationHelper.CloudProbe)));

            return(new DiscoveryClient(discoveryEndpoint));
        }
        /// <summary>
        /// Creates the proxy for queue.
        /// </summary>
        /// <param name="queueName">Name of the queue.</param>
        /// <returns>ITransactionProcessor.</returns>
        private ITransactionProcessor CreateProxyForQueue(string queueName)
        {
            //Create EndPointAddress
            var endpointAddress = new EndpointAddress("net.msmq://" + TransactionConfigurationHelper.QueueHost + "/private/" + queueName);
            //Create Binding
            var binding        = BindingFactory.CreateBindingFromKey(BindingFactory.Key.UnsecureNetMsmqBinding);
            var channelFactory = new ChannelFactory <ITransactionProcessor>(binding, endpointAddress);
            var client         = channelFactory.CreateChannel(endpointAddress);

            return(client);
        }
Пример #4
0
        /// <summary>
        /// Creates the service host.
        /// </summary>
        /// <param name="t">The t.</param>
        /// <param name="baseAddresses">The base addresses.</param>
        /// <returns>ServiceHost.</returns>
        protected override ServiceHost CreateServiceHost(Type t, Uri[] baseAddresses)
        {
            var serviceHost = new ServiceHost(t, baseAddresses);

            serviceHost.MakeAnnouncingService();

            serviceHost.AddServiceEndpoint("Iris.WinAuthentication.Contract.Interfaces.IWinAuthentication",
                                           BindingFactory.CreateBindingFromKey(BindingFactory.Key.WsWinHttpBinding), "");

            return(serviceHost);
        }