Ошибка WCF: вызывающая сторона не была аутентифицирована службой в WsDualHttpBinding - PullRequest
1 голос
/ 21 декабря 2011

В настоящее время я разрабатываю службу wcf для публикации подписки Попытка запустить подписчика (приложение winforms) на одном компьютере и службу (запущенную в приложении winforms) на другом компьютере. При подключении выдается исключение SecurityNegotiationException с сообщением об ошибке

Звонящий не был аутентифицирован службой

Конфиг клиента:

<system.serviceModel>
<bindings>
  <wsDualHttpBinding>
    <binding name="WSDualHttpBinding_IPostingContract" clientBaseAddress="http://192.168.1.101:8000/wcfClient/" closeTimeout="00:01:00"
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
        bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
        maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
        messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <reliableSession ordered="true" inactivityTimeout="00:10:00" />
      <security mode="None">
        <message clientCredentialType="None" negotiateServiceCredential="False"/>
      </security>
    </binding>
  </wsDualHttpBinding>
</bindings>

<client>
  <endpoint address="http://192.168.1.101:8888/PostingContract/Posting"
      binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_IPostingContract"
      contract="IPostingContract" name="WSDualHttpBinding_IPostingContract">
  </endpoint>
</client>

Настройка службы:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <bindings>
  <wsDualHttpBinding>
    <binding name="WSDualHttpBinding_IPostingContract" clientBaseAddress="http://localhost:8000/wcfClient/" closeTimeout="00:01:00"
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:00:20"
        bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
        maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
        messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <reliableSession ordered="true" inactivityTimeout="00:10:00" />
      <security mode="None" />
    </binding>
  </wsDualHttpBinding>
</bindings>

Если я изменю режим безопасности для клиентской стороны на Сообщение, которое является исходным режимом, я получу временное исключение даже после ожидания в течение 5 минут. После прочтения большинства вопросов, заданных другими людьми, большинство людей рекомендует не задавать ни одного.

обратите внимание, что это WSDualHttpBinding, а не базовые привязки.

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