Резидентная логика в приложении ASP.NET - PullRequest
1 голос
/ 24 марта 2011

У меня есть веб-сайт ASP.NET (блог основан на blogengine.net).

Я хочу выполнить интеграцию с Twitter.

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

Для этого требуется объект проверки вотдельный поток постоянно активен.Где я должен разместить экземпляры своих классов, чтобы они были активны, когда веб-сайт ASP.NET работает в IIS?Где я могу связать логику с моим веб-приложением?

Спасибо.

1 Ответ

1 голос
/ 24 марта 2011

О текущем процессе не должно быть в рамках самого приложения ASP .NET.Приложение ASP .NET - это скорее система запросов / ответов, а не планировщик процессов.Для текущей задачи, которая опрашивает внешнюю службу и обновляет данные, лучше выбрать следующие варианты:

  • Служба Windows
  • Консольное приложение, запланированное с некоторым планировщиком задач (например, встроенная Windowsone)

Одна из главных причин этого заключается в том, что вы никогда не знаете, работает ли ваше приложение ASP .NET.Он может быть переработан в пуле приложений по ряду причин, по усмотрению IIS.(Именно поэтому размещение событий в событии запуска приложения является осторожным действием, поскольку оно не всегда известно или интуитивно понятно, когда это будет вызываться.) Приложение может даже быть «закрыто», если IIS сочтет это необходимым при управлении ресурсами, вв какой момент это произойдет с вашим отдельным потоком?

В идеале в этом случае у вас будет приложение ASP .NET, которое поддерживается базой данных.Тогда у вас будет отдельное приложение (как указано выше), которое обновляет эту же базу данных.Им не нужно ничего знать друг о друге.

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