У меня есть приложение. NET 4.6, в котором размещается веб-служба WCF soap. Это довольно базовый c, и он отлично работает, когда я запускаю его в настольном приложении classi c. NET 4.6 под своим собственным пользователем. Однако я хочу запустить его как Windows сервис под учетной записью сервиса. Я использую 100% точно такой же код wcf и определение сервиса, с той лишь разницей, что он внутри сервиса windows, но он не работает. Ответ не возвращается.
Так, например, в настольном приложении. NET 4.6 я могу отправлять запросы POST soap и получать ответы, а также просматривать определение на http://10.10.10.10: 8904 / blabla ? wsdl просто отлично. Когда я запускаю его как сервис Windows под учетной записью сервиса, он не отвечает. Например, просмотр к http://10.10.10.10: 8904 / blabla? Wsdl не дает никакого ответа (в браузере он продолжает вращаться).
В netstat я вижу Windows хостинг на порт 8904.
Если я включаю трассировку WCF в файл, я вижу журналы, подобные этой, поэтому, по-видимому, есть некоторая активность WCF по крайней мере:
<ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord">
<ActivityName>Ontvang bytes op verbinding http://10.10.10.10:8904/blabla?wsdl.</ActivityName>
<ActivityType>ReceiveBytes</ActivityType>
</ExtendedData>
Я также уже добавил: netsh http add urlacl url = http: // +: 8904 / blabla / user = Everyone
Есть идеи? Я пропускаю определенные права пользователя? Должна ли быть разница в конфигурации WCF между работой в качестве настольного приложения и службы windows?