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

Я должен согласиться с Matt Hamilton .

Var может сделать Ваш код намного более читаемым и понятным, когда используется с хорошими именами переменной. Но var может также сделать Ваш код столь же невозможным читать и понять как Perl, когда используется плохо.

список А хорошего и плохого использования var действительно не собирается помогать многому также. Это - случай для здравого смысла. Большим вопросом является одна из удобочитаемости по сравнению со способностью записи. Много devs не заботится, читаем ли их код. Они просто не хотят вводить столько же. Лично я - чтение>, пишут парню.

5
задан Svish 1 August 2009 в 22:38
поделиться

4 ответа

Есть несколько важных моментов мне немедленно.

  • Они запускаются в совершенно другой консоли, начиная с Vista.
  • В результате работы в другой консоли службы не могут взаимодействовать с рабочим столом. По сути, прямой поддержки пользовательского интерфейса нет. Обычно вам приходится кодировать одноуровневое приложение пользовательского интерфейса, которое запускается как обычная программа и использует некоторый механизм (например, именованные каналы) для связи со службой.
  • Обычно только один экземпляр вашей службы может быть запущен в любой момент времени.
  • Процессы предназначены для каждого пользователя, услуги для каждой рабочей станции и, следовательно, часто предоставляют услуги для нескольких пользователей.
9
ответ дан 18 December 2019 в 09:52
поделиться

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

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

Службы также не привязаны к работе в режиме отображения 1: 1 с процессом. Многие службы могут существовать в одном процессе, обычно с помощью svchost (посмотрите на них с помощью Process Explorer, чтобы понять, как это часто работает). Это сокращает усилия при запуске, поскольку для относительно легких служб не требуется несколько процессов.

Реализовать службу на C # довольно просто,

6
ответ дан 18 December 2019 в 09:52
поделиться

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

Еще одним преимуществом является возможность автоматического запуска служб при входе пользователя в систему.

Существуют также методы, которые можно переопределить и которые вызываются при запуске службы / остановлен (например, из Панели управления | Администрирование | Службы).

В Visual Studio есть специальный тип проекта, который вы можете использовать для его создания. См. Пример на сайте ниже: http://www.dotheweb.net/articles/dotnet/services.aspx

0
ответ дан 18 December 2019 в 09:52
поделиться

Если вы знакомы с Unix, служба Windows похожа на демона Unix. Он не связан с каким-либо конкретным пользователем и всегда работает в фоновом режиме.

2
ответ дан 18 December 2019 в 09:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: