IIS против службы Windows? - PullRequest
       4

IIS против службы Windows?

4 голосов
/ 24 января 2011

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

Я не играл с IIS уже несколько лет, поэтому мой вопрос таков:

Что бы вы посоветовали мне использовать?

Я думал о создании службы Windows и встраивании веб-сервера, такого как Cassini, но пока мне не очень нравятся веб-серверы с открытым исходным кодом, на которые я смотрел.

Может ли IIS справиться с этим? Люди используют его для этого типа сценария, и если да, то как?

Ответы [ 4 ]

8 голосов
/ 24 января 2011

Это звучит как работа для двух отдельных проектов.

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

Второй - это веб-проект, который будет использоваться для администрирования службы Windows.Эта часть работает в IIS.

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

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

Вы можете использовать IIS в качестве веб-сервера для своей части веб-администратора и связать свое приложение ASP.net со своей службой с помощью базы данных конфигурации (легко) или веб-служб (немного сложнее).

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

Это зависит от того, что вы подразумеваете под , всегда работающим .Веб-приложение ASP.NET, развернутое в IIS, вполне может быть выгружено веб-сервером, если в течение определенного времени не было запросов на уничтожение всех фоновых потоков.Поэтому, если вам нужен постоянно работающий фоновый поток, лучше использовать службу Windows.Что касается веб-администратора, то здесь у вас нет большого выбора: ASP.NET в IIS.Чтобы сделать что-то полезное, эти два приложения должны найти общий язык для разговора.Таким образом, вы можете использовать базу данных для хранения результатов, которые могут использоваться обоими приложениями.

1 голос
/ 24 января 2011

Windows и веб-сервисы - два совершенно разных существа. Веб-служба предоставляет внешние методы, которые вы можете реализовать в приложении, тогда как служба Windows - это сущность внутри себя. Если вы планируете использовать эту службу в определенный промежуток времени для выполнения операции, то служба Windows будет правильным выбором. Если вы используете веб-сервис, вам нужно будет вызвать метод, который вы хотите запустить из дополнительного приложения.

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

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