2016-06-21 4 views
0

У меня есть приложение, которое отправляет непрерывные данные через последовательный порт при нажатии кнопки go и размещается в IIS.Как ударить метод, как только мой IIS автоматически перезапустится

Я установил режим автоматического запуска на «Always Running», который автоматически перезапустит мой IIS, но перезапуск прекратит отправку данных через порт, так как мне нужно снова нажать кнопку go, чтобы начать отправку данных.

Есть ли какие-либо настройки, при которых автоматический повторный запуск IIS ударит мой метод Go, и отправка данных может быть непрерывной через порт без каких-либо перерывов.

+0

Почему вы не используете эту логику в службе Windows? – CodeCaster

+0

@CodeCaster Я уже разработал и разработал в веб-приложении. Теперь проблема заключается в отправке непрерывных данных, в которых повторный запуск IIS создает проблему, поскольку для повторного запуска необходимо использовать метод go. могу ли я закодировать его в моем приложении .Net, это параметр, в котором повторный запуск метода IIS go go. –

+0

Ну да, но это как просить [_ «Я купил мотоцикл для перевозки коров, теперь почему я не могу перевезти больше одного?» (Http://i.imgur.com/IDRSi.jpg). Повторное использование пула приложений и перезапуска - причина номер один, по которой вам не нужно размещать длительные (и особенно навсегда работающие) процессы на веб-сервере. Вы выбрали неправильный инструмент для работы. – CodeCaster

ответ

0

Чтобы выполнить метод при запуске пула приложений, вы можете использовать атрибут PreApplicationStartMethod в сборке System.Web.

[assembly: PreApplicationStartMethod(
       typeof(Starter), 
       nameof(Starter.PreApplicationStartMethod))] 

public class Starter 
{ 
    public static void PreApplicationStartMethod() 
    { 
     // startup code here 
    } 
} 

С помощью этого атрибута каждый раз, когда пул приложений перерабатывается, этот метод будет вызван. Имейте в виду, что во время утилизации пул приложений запускается до конца другого приложения. См. IIS Process Recycling overlap для получения дополнительной информации.

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

  • Нет связанных вопросов^_^