Сервис имеет нулевое приложение (неинфраструктура) конечные точки

Я недавно создал сервис WCF (dll) и сервисный хост (exe). Я знаю, что мой сервис WCF работает правильно, так как я могу успешно добавить сервис к WcfTestClient.

Однако я, кажется, сталкиваюсь с проблемой, когда я приезжаю в utlizing свой WCF от сервисного хоста (exe). Я могу добавить ссылку на WCF (dll) к моему сервисному хосту (exe) и создать необходимый componets к exe; такой как сервисный установщик, сервисный хост и app.config, компилируют и затем наконец устанавливают exe использование InstallUtil. Но, когда я пытался запустить сервис в Microsoft Management Console, сервис сразу останавливается, будучи запущенным.

Таким образом, я начал исследовать то, что могло точно вызывать эту проблему прибытие с этой ошибкой из Журнала приложения в конечном счете Средство просмотра.

Описание:

Сервис не может быть запущен. Система. InvalidOperationException: Сервис 'Сервис' имеет нулевое приложение (неинфраструктура) конечные точки. Это могло бы быть то, потому что никакой конфигурационный файл не был найден для Вашего приложения, или потому что никакой элемент обслуживания, соответствующий сервисному названию, не мог быть найден в конфигурационном файле, или потому что никакие конечные точки не были определены в элементе обслуживания.

Эта ошибка на самом деле сгенерирована в OnStart; из моего exe, когда я выполняю этот вызов ServiceHost.Open(). Я видел многочисленные сообщения, где другие люди столкнулись с этой проблемой, однако большинство, если не все они, утверждайте что сервисное название или контракт; пространство имен и имя класса, не указываются. Я проверил обе из этих записей в моем файле конфигурации; в exe, а также в dll, и они совпадают ОТЛИЧНО. У меня были другие люди в офисной двойной проверке позади меня, чтобы удостовериться, что я не слеп однажды, но конечно они пришли к тому же заключению как я, что все было похоже на него, был указан правильно. Я действительно в потерянном относительно того, что продолжается в этой точке. Кто-либо мог помочь мне с этой проблемой?

Другая вещь, которая подошла как возможная причина, это может происходить, состоит в том, что app.config никогда не читается; по крайней мере, не тот, который я думаю, должен становиться считанным. Это могло быть проблемой? Если так, как я могу пойти о решении этой проблемы. Снова, ЛЮБАЯ справка ценилась бы.

88
задан abatishchev 9 February 2012 в 09:46
поделиться

2 ответа

Одна вещь думать о: вам разъединяли вашу WCF полностью от WindowsService (WS)? WS является болезненным, потому что вы не имеете большой контроль или видимость им. Я пытаюсь смягчить это при наличии всего моего материала неWS в их собственных классах, таким образом, они могут быть протестированы независимо от хоста WS. Используя этот подход мог бы помочь вам устранить что-либо, что происходит со временем выполнения WS по сравнению с вашим сервисом в частности.

John, вероятно, корректен, что это - .config проблема файла. WCF будет всегда искать контекст выполнения .config . Таким образом, при хостинге WCF в различных контекстах выполнения (то есть, тест с консольным приложением, и развернитесь с WS), необходимо удостовериться, что у вас есть данные конфигурации WCF, отодвинутые в надлежащий .config файл. Но базовая проблема мне - то, что вы не знаете то, чем состоит в том проблема, потому что липкая вещь WS мешает. Если вы еще не осуществили рефакторинг к тому так, чтобы можно было выполнить сервис в любом контексте (то есть, модульный тест или консоль), то я был бы выполнение sugget так. При вращении сервиса в модульном тесте он, вероятно, привел бы к сбою тот же способ, которым вы видите с WS, который намного легче отладить вместо того, чтобы пытаться сделать так с yucky инфраструктурой WS.

8
ответ дан 24 November 2019 в 07:34
поделиться

Я только что столкнулся с этой проблемой и решил ее, добавив пространство имен к имени сервиса, например

 <service name="TechResponse">

became

 <service name="SvcClient.TechResponse">

Я также видел, как это решается с помощью Web.config вместо App.config.

91
ответ дан 24 November 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: