Nithin B Ответов: 1

Как оконные службы работают внутренне по сравнению с планировщиком задач или диспетчером задач?


Я разработчик .net, работающий в веб-приложениях, и с последних нескольких месяцев я начал работать над приложениями windows, и одно приложение должно запускаться каждый день в 12 часов дня, поэтому я написал веб-сервис с помощью google, и он работает нормально.

Но мне просто интересно, как работают службы windows.
Я прочитал много постов, и ни один из них не ответил на мой вопрос.Итак, я выступаю вперед своими собственными словами.

Согласно моему пониманию в веб-сервисе, я создаю планировщик с использованием таймера, который работает все 24 часа и выполнит необходимый код, когда условие таймера будет выполнено.

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

Теперь мои вопросы:

1. Что касается использования оперативной памяти?

Я знаю, что службы используют оперативную память. Но учитывая, что мой код тяжелый, давайте рассмотрим 10 МБ. Ther fore. exe файл будет около 10 Мб или больше. Итак, когда сервис запускается, использует ли он 10 МБ оперативной памяти все 24 часа или он просто создаст просто планировщик в сервисе, который будет довольно маленьким, а затем загрузит сервисный код, когда время будет выполнено?

Рассматривая планировщик, как он работает. Я думаю, что будет триггер, который будет срабатывать, когда время будет выполнено, и триггер будет выполнять .exe-файл в общем, позвольте мне назвать его службой(но это приложение). Таким образом, здесь сервисный код отделен от планировщика, поэтому только планировщик запускает и загружает сервисный код в оперативную память.

Разве я не прав?
Работает ли планировщик также все 24 часа времени проверки?

2. Если в случае, если у меня есть 2 службы с одним установщиком. Теперь будет установлено 2 сервиса. Но я хотел бы знать, имеют ли обе службы по 10 МБ каждая, что составляет 20 Мб .exe размер, и когда обе службы начинают работать, есть ли размеры по 10 МБ каждая(учитывая, что она будет кодировать относительный код службы) или по 20 Мб каждая(учитывая, что она будет кодировать оба кода службы, потому что они находятся в одном exe).

Надеясь на какой-нибудь ценный ответ.

Заранее спасибо.

Что я уже пробовал:

Я только что реализовал службу windows в c sharp, и она отлично работает.

1 Ответов

Рейтинг:
2

F-ES Sitecore

Служба - это просто приложение, которое постоянно работает, даже если никто не вошел в систему. Таким образом, если EXE-файл имеет размер 10 МБ, то он всегда будет находиться в памяти, даже когда "простаивает". Запланированное приложение запускает ваш процесс в данный момент времени, поэтому оно запускает ваш exe-файл (я предполагаю, что ваш exe-файл затем прервется, когда закончит свою работу) в данный момент времени, загружая все 10 МБ в память, и когда EXE-файл завершится, он освободит эти 10 МБ.

Что касается служб duel, то если у вас есть два разных служебных exe-файла, работающих и оба по 10 МБ, то вместе они займут 20 МБ (по 10 каждый), но в подобных обстоятельствах я бы посмотрел, смогу ли я получить одну службу, выполняющую обе функции, то есть вы можете изменить параметры через конфигурационный файл и заставить службу выполнять свою работу для каждого экземпляра конфигурации.