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