Недавно я создал службу WCF (dll) и узел службы (exe). Я знаю, что моя служба WCF работает правильно, так как я могу успешно добавить службу в WcfTestClient.
Однако у меня, похоже, возникает проблема, когда я использую свой WCF с хоста службы (exe). Я могу добавить ссылку на WCF (dll) на мой узел службы (exe) и создать необходимые компоненты для exe; например, установщик службы, узел службы и app.config, скомпилируйте и, наконец, установите exe с помощью InstallUtil. Но когда я попытался запустить службу в консоли управления Microsoft, служба сразу же останавливается после запуска.
Итак, я начал исследовать, что именно может вызывать эту проблему, и обнаружил эту ошибку в журнале приложений в средстве просмотра событий.
Описание:
Служба не может быть запущена. System.InvalidOperationException: служба Service не имеет конечных точек приложения (не связанных с инфраструктурой). Это может быть связано с тем, что для вашего приложения не найден файл конфигурации, или потому, что в файле конфигурации не может быть найден элемент службы, соответствующий имени службы, или потому, что в элементе службы не определены конечные точки.
Эта ошибка фактически генерируется в OnStart
; моего exe, когда я выполняю этот вызов ServiceHost.Open()
. Я видел множество сообщений, в которых другие люди сталкивались с этой проблемой, однако большинство, если не все из них, утверждают, что название службы или контракт; пространство имен и имя класса не указываются. Я проверил обе эти записи в моем конфигурационном файле; в exe, а также в dll, и они ИДЕАЛЬНО совпадают. У меня были другие люди в офисе, которые дважды проверяли меня, чтобы убедиться, что я не ослеп в какой-то момент, но, конечно, они пришли к тому же выводу, что и я, что все выглядело так, как будто было указано правильно. Я действительно не понимаю, что происходит в данный момент. Может ли кто-нибудь помочь мне с этой проблемой?
Еще одна возможная причина, по которой это может происходить, заключается в том, что app.config никогда не читается; по крайней мере, не тот, который, как мне кажется, следует читать. Может в этом проблема? Если да, то как я могу решить эту проблему. Опять же, ЛЮБАЯ помощь будет оценена по достоинству.