Сервер WCF отклоняет соединения с локального хоста

#wcf #c#-4.0 #wcf-binding #wcf-security

#wcf #c #-4.0 #wcf-привязка #wcf-безопасность

Вопрос:

У меня есть служба WCF, работающая на порту net.tcp внутри хостингового приложения, запущенного на моем компьютере — 64-разрядная версия Windows 2003.

Приложение будет принимать соединения с компьютера коллеги и локально с тестового клиента WCF и отправлять обратно соответствующую информацию. Я также могу использовать свой клиент для подключения к службе, запущенной на компьютере моего коллеги.

К сожалению, это не позволит мне подключиться к службе с клиента, работающего на моем компьютере. Клиент на компьютере моего коллеги с сервером на компьютере коллеги также выходит из строя.

Как ни странно, приложение также запускает другую службу, которая отлично работает локально и удаленно.

 This works:  net.tcp://localhost:8736/EchoExcelServices/
This doesnt: net.tcp://localhost:8736/EchoExcelServices/Uploader
 

Исключение, указанное в клиентском приложении, — это a SecurityNegotiatanException с сообщением

 The server has rejected the client credentials
 

Внутри него (на пару уровней ниже) находится a Win32Exception с сообщением

 The logon attempt failed
 

РЕДАКТИРОВАТЬ: раздел поведения выглядит следующим образом:

  <behaviors>
      <serviceBehaviors>
        <behavior name="EchoExcelLibrary.MetadataBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
          <behavior name="ImpersonationBehavior">
          <clientCredentials>
            <windows allowedImpersonationLevel="Impersonation"/>
          </clientCredentials>
        </behavior>
      </endpointBehaviors>
 

РЕДАКТИРОВАТЬ 2
раздел измененного поведения:

   <endpointBehaviors>
    <behavior name="ImpersonationBehavior">
    </behavior>
  </endpointBehaviors>
 

Комментарии:

1. Какой тип режима безопасности настроен для ваших служб?

2. Я добавил раздел поведения выше. Это то, что вы ищете?

3. удалите clientcredentials посмотрите, имеет ли это значение (только для устранения неполадок).

4. Это не изменило поведение. Я добавил раздел отредактированного поведения выше.

Ответ №1:

Это была проблема с настройкой DTC на наших машинах. Теперь проблема решена