Я использую клиент службы WCF, сгенерированный slsvcutil из инструментария Silverlight версии 4. Я также пробовал версию 3 с теми же проблемами. Когда я использую экземпляр клиента, работающий по http без учетных данных пользователя, он работает без проблем. Но мне нужно переключиться на https для производительных серверов и отправить учетные данные пользователя, которые жестко запрограммированы для моего приложения. Я использую для этого следующий код:
var binding = new BasicHttpBinding (BasicHttpSecurityMode.TransportCredentialOnly);
var endpoint = new EndpointAddress (AppSettings.FlareEndPoint);
_service = new TopicAnalystAPIClient(binding, endpoint);
_service.ClientCredentials.UserName.UserName = "xxx";
_service.ClientCredentials.UserName.Password = "xxx";
Когда я вызываю метод этой службы, указывающий на http без аутентификации, он работает. Когда я использую этот код против http/https с учетными данными, я получаю исключение «Произошла ошибка при обработке веб-запроса: код состояния 401 (неавторизованный): неавторизованный». Я проверил правильность учетных данных и могу открыть ссылку на службу в своем браузере. Я также пробовал несколько комбинаций значений http/https и SecurityMode. Я также пробовал это на четырех разных серверах, всегда с тем же результатом.
В чем может быть проблема?