Добавить комментарий - CodeHelper

Добавить комментарий

Нужен пример простого сервиса, исмользующего wsDualHttpBindng и поддерживающего шифрвание на уровне сообщений. Сервис уже есть, для него студией генерируется прокси и конфиг файл. Интересует как теперь запихнуть конфиг внутрь прокси ?

Код для сервиса

        // ищем нужный сертификат в хранилище
        X509Certificate2 cert = null;
        X509Store certStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
        certStore.Open(OpenFlags.ReadOnly);
        for (int i = 0; i < certStore.Certificates.Count; i++)
            if (certStore.Certificates[i].SubjectName.Name == "CN=testsvc")
                cert = certStore.Certificates[i];
        certStore.Close();

        WSDualHttpBinding binding = new WSDualHttpBinding(WSDualHttpSecurityMode.Message);
        binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
        binding.MaxReceivedMessageSize = Int32.MaxValue;

        // устанавливаем параметры аутентификации
        _AdminHost.Credentials.UserNameAuthentication.UserNamePasswordValidationMode = UserNamePasswordValidationMode.Custom;
        _AdminHost.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator = new AdminUserNameValidator();

        // указываем используемый сертификат
        // _AdminHost - это хост
        _AdminHost.Credentials.ServiceCertificate.Certificate = cert;

        // наша конечная точка
        _AdminHost.AddServiceEndpoint(typeof(IServiceAdmin),
            binding,
            new Uri("http://localhost:999/ServiceAdmin"));

        // mex
        _AdminHost.Description.Behaviors.Add(new ServiceMetadataBehavior());
        Binding mexBinding = MetadataExchangeBindings.CreateMexHttpBinding();
        _AdminHost.AddServiceEndpoint(typeof(IMetadataExchange),
            mexBinding,
            new Uri("http://localhost:999/ServiceAdmin/mex"));

Как создать аналогичную картину (без конфига) на клиенте??

Внимание! Вы собираетесь отправить информацию от имени анонимного пользователя.
v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.