Есть ли причина, по которой служба Win не будет выполнять функции во внешней библиотеке? - PullRequest
0 голосов
/ 25 января 2011

Я новичок в написании Windows Services, так что это действительно странно для меня.Я отладил внешнюю библиотеку с помощью WinForm.Внешняя библиотека выполняет некоторое сопоставление дисков, копирует структуру каталогов, удаляет исходный каталог, переименовывает скопированный каталог, а затем удаляет сопоставления.

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

Что-то я пропускаю?Нужно ли внешней библиотеке иметь какие-либо атрибуты безопасности?

Обновление Узнайте, как подключить отладчик, в соответствии с комментарием Уилла: System.Diagnostics.Debugger.Break ()

Редактировать
Это также помогает при копировании файла app.config в правильный каталог !!!

1 Ответ

2 голосов
/ 25 января 2011

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

Проблема либо в том, что ваша служба создана неправильно, либо в том, что у вас проблема безопасности.

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

Если служба касается диска, учетная запись пользователя, под которой она выполняется, должна иметь права на выполнение операций, которые она пытается выполнить. Попробуйте изменить учетную запись пользователя, под которой он выполняется, на свою и посмотрите, начнет ли она работать.

...