Вызов службы WCF с аутентификацией форм - PullRequest
1 голос
/ 08 ноября 2010

У меня есть приложение wpf, которое вызывает службу wcf с аутентификацией форм. Я добавил ссылку на сервис в свое решение и в конфигурации сервиса проверил Генерацию асинхронных операций.

В коде позади я создал клиент для этой ссылки, чем я прикрепил событие к огню после завершения асинхронного метода, тогда имя пользователя и пароль установлены:

        client.ClientCredentials.UserName.UserName = txtUser.Text;
        client.ClientCredentials.UserName.Password = passbox.Password;
        client.IsAuthenticatedAsync(txtUser.Text, passbox.Password);
        client.Close();

в IsAuthenticatedCompletedEventArgs я получаю сообщение об ошибке: «Объект связи System.ServiceModel.Channels.HttpsChannelFactory + HttpsRequestChannel нельзя использовать для связи, поскольку он был прерван.»

Кто-нибудь знает, почему это происходит?

Заранее спасибо!

1 Ответ

0 голосов
/ 08 ноября 2010

Если честно, у меня не было возможности протестировать ваш сценарий, но эта ошибка является общей ошибкой, указывающей на то, что что-то пошло не так при общении с сервисом (этот ответ - скорее комментарий, но он обширный и можетт подходят).Вы можете получить больше информации, поместив следующие строки в конце раздела <configuration> в ваших файлах web.config и app.config:

<system.diagnostics>
<trace autoflush="true" />
<sources>
  <source name="System.ServiceModel"
          switchValue="Information, ActivityTracing"
          propagateActivity="true">
    <listeners>
      <add name="sdt"
          type="System.Diagnostics.XmlWriterTraceListener"
          initializeData= "ServiceTestWCFTrace.svclog" />
    </listeners>
  </source>
</sources>

После получения ошибки используйтеПрограмма просмотра журнала svc для просмотра журнала: C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcTraceViewer.exe Там вы, вероятно, найдете точную ошибку, которая вызвала прерывание на канале.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...