проблема при развертывании приложения в качестве службы Windows - PullRequest
1 голос
/ 27 ноября 2010

Я создал приложение на C #, которое выполняет следующие действия

  1. Контролирует текстовый файл и, если что-то особенное было записано в файл, снимает фотографии.
  2. Отслеживает папку, и если в этой папке создается какой-либо новый файл, он передает этот файл на сервер (Сервер - это служба wcf, и мое приложение использует эту службу как webserivce).

  3. Хостыпрослушиватель TCP для прослушивания через определенный порт.

Проблема в том, что приложение прекрасно работает, когда я запускаю это приложение как консольное приложение.Однако, если установить это приложение как службу Windows (3 службы Windows для каждой цели), система начинает показывать некоторую медлительность, а иногда и зависание системы.Я использовал FileSystemWatcher для просмотра текстовых файлов и папок.Также слушатель tcp работает асинхронно, и нет никаких шансов, что какая-либо из задач, упомянутых выше, может повесить функцию запуска службы.

Ответы [ 3 ]

0 голосов
/ 28 ноября 2010

Пожалуйста, дайте подробное описание "зависаний системы".

На вашем месте я буду использовать WinDbg или другой отладчик для захвата дампов зависания процессов для новых сервисов, когда они зависают, и такие дампы должны сообщать, что происходит.

0 голосов
/ 28 ноября 2010

Снято в темноте:

Обычно, когда у меня возникают странные проблемы с запуском чего-либо в качестве службы Windows, но это нормально работает как консольное приложение, обычно это одна из двух причин:

  1. Пользователь, которому запущена служба, не имеет разрешений на выполнение действия.
  2. Если это ОС с UAC, то это может быть проблемой. В качестве теста (не решения) отключите UAC и посмотрите, нормально ли работает процесс.

НТН, Brian

0 голосов
/ 27 ноября 2010

Вероятно, здесь недостаточно информации, чтобы кто-нибудь мог дать вам полезный ответ.Я бы начал с добавления логов, чтобы посмотреть, сможете ли вы определить, где именно он останавливается.Затем, как только вы определились с этим, опубликуйте код и посмотрите, есть ли у кого-нибудь идеи, почему это произойдет там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...