Ссылка на веб-службу не может работать при запуске со службой Windows?

#c# #vb.net #wcf #windows-services

#c# #vb.net #wcf #windows-services

Вопрос:

У меня есть сторонняя веб-служба, и я разрабатываю службу Windows. Когда моя служба Windows, она должна запросить веб-службу, чтобы получить и отправить некоторые данные. В службе Windows я добавил ссылку на веб-службу, используя ее URL. Он работает в режиме отладки, служба Windows может получать и передавать данные в веб-службу. Но когда я устанавливаю службу Windows с помощью installutil windowsService.exe и запускаю службу с помощью команды sc start windowsService , возникает ошибка:

Система.ServiceModel.Исключение EndpointNotFoundException

Сообщение об ошибке: не было прослушивания конечной точкой в http://webservice/service.svc / которая могла бы принять сообщение. Это часто вызвано неправильным адресом или действием SOAP. Дополнительные сведения см. в разделе InnerException, если оно присутствует.

Я понятия не имею @@. Пожалуйста, помогите!

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

1. Ну, правильный ли указанный адрес? Что находится во внутреннем исключении?

2. Возможно, проблема с привилегиями, установите службу под другой учетной записью (вашей) для тестирования. Затем решите проблему, настроив учетную запись WinService

3. где находится ваш веб-сервис? тот же сервер? нужен ли прокси-сервер? как вы запускаете ее в режиме отладки, когда вы запускаете ее? возможно, запускаете ее как вы?

4. Возможно, учетная запись, в которой размещена служба Windows, не имеет тех же настроек прокси, что и ваша собственная учетная запись?

5. Я хотел бы, чтобы вы могли поделиться более подробной информацией о процессе отладки. Если служба работает в режиме отладки, как служба может выдавать ошибку EndpointNotFoundException? Что касается ошибки, она предполагает, что мы исправляем адрес конечной точки службы в файле конфигурации. Кроме того, в процессе может возникнуть проблема с правами доступа, по умолчанию в процессе аутентификации может использоваться учетная запись Windows. Поэтому попробуйте сменить учетную запись запущенной службы Windows NT на указанную учетную запись.