Размещение службы .NET в IIS (без интерфейса) - PullRequest
5 голосов
/ 29 января 2010

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

В настоящее время это написано на C # и размещено в службе Windows.

Многие другие, более «интерактивные» сервисы моей команды переносятся на централизованное размещение в IIS. Для согласованности меня попросили преобразовать мой сервис для размещения в IIS.

Можно ли разместить службу, которая не имеет интерфейса в IIS? Я привык видеть методы OnStart и OnStop, они все еще доступны при размещении таким образом?

Ответы [ 2 ]

3 голосов
/ 29 января 2010

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

Для такой службы, как ваша, хостинг IIS не выглядит особенно хорошей идеей. Если он никогда не запрашивается, он никогда не будет запущен.

2 голосов
/ 29 января 2010

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

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

...