#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 на наших машинах. Теперь проблема решена