2010-05-06 2 views
0

Я создал службу в VS 2008 под названием EmailReader. Я скомпилировал, установил и запустил службу. Его таймер-цикл записывает записи в файл журнала, поэтому я вижу, что он работает. Я пытаюсь подключиться к нему в VS 2008, но имя процесса выведено серым цветом в список доступных процессов, а имя «EmailReader.vshost.exe» вместо «EmailReader.exe».Не удается подключиться к службе в VS 2008

Возможно, есть простой ответ, но я этого не знаю. Вы?

+0

Не используйте таймер в службе. Он может безвозвратно разрушаться. См. Ответы на странице http://stackoverflow.com/questions/397744/net-windows-service-with-timer-stops-ответ ./397757#397757. – StingyJack

ответ

2

vshost.exe не является правильным exe, к которому вы хотите подключиться. Это будет сам emailreader.exe. Попробуйте подключиться к сервису. Откроется диалоговое окно со всеми службами. Попробуйте установить флажок, в котором говорится о всех процессах всех пользователей, а также установите флажок, в котором указано, что процессы показывают все сеансы.

0

Очень вероятно, что вы используете службу под другим набором учетных данных, чем при работе с Visual Studio. Убедитесь, что вы отметили «Показать процессы для всех пользователей». Вы не будете отлаживать vshost, вам нужно отладить экземпляр из SCM.

0

Во-первых, в диалоговом окне «Прикрепить к процессу» должно быть два флажка. Установите оба из них, как отмечено. Нажмите на список, в котором перечислены процессы. Когда вы нажмете «E» (как в вашем случае), вы увидите, что он выделяет процесс, начинающийся с «e», найдите имя exe-изображения, которое вы только что создали. После того, как вы там, кнопка attach автоматически включится.

PS: ех имя, которое вы создали будет тем же ех, с которой вы запускали инструмент InstallUtil, чтобы установить службу

Смежные вопросы