2017-02-14 8 views
0

У меня возникла неудобная проблема с сервисом Windows, который я разработал. Внезапно служба начала сбой при запуске, и после многих дней напряженных исследований я нашел это: некоторые DLL внутри каталога на рабочем сервере были другого размера, чем те, что находятся внутри сервера разработки. Просто для того, чтобы вы знали, этот процесс:Windows Service меняет свои собственные DLL-файлы

  • Я разрабатываю сервис с помощью Visual Studio 2013 на локальной машине Windows 7.
  • Затем я скомпилирую службу и скопирую файлы, сгенерированные в каталоге bin/Debug, на производственный сервер Amazon EC2 Machine. (ps: Я пытался установить службу, используя файлы в каталоге bin/Release, но это не имело никакого эффекта)

В течение многих недель, хотя служба Windows работала правильно, файлы на рабочем сервере и те в машине разработки были точно такими же, за исключением некоторых незначительных различий в файле .config службы. Когда проблема возникла впервые, я начал видеть эту разницу: многие DLL-файлы в производственной машине внезапно стали распухшими, как в 3 или 4 раза больше их первоначального размера в мегабайтах.

Как вы узнали, служба использует библиотеку log4net для протоколирования.

Любой отзыв?

+3

Ну, не стесняйтесь отключать эту машину как можно скорее. Остерегайтесь ИТ-персонала, или кто-то несет ответственность за поддержание работы компании. –

ответ

1

Необходимо установить сканер для вирусов и вредоносных программ. Когда никто ничего не изменяет и dll не меняется, ваши среды, вероятно, скомпрометированы.

+0

Стоит отметить, что тот же сервис работает правильно в машине разработки. Проблема «набухших dll» не происходит в dev-машине. – mhkgalvez

1

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

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