Как реализовать daemon-процессы для ASP.NET приложения? - CodeHelper

Как реализовать daemon-процессы для ASP.NET приложения?

2

Имеется web-приложение на ASP.NET. Как включить в инфраструктуру этого приложения возможность выполнения долгих задач в фоне? Задачи эти никак не связаны с запросами пользователей к сайту. Лучший пример реализации приложений для таких задач — это daemon-программы операционных систем, например, сервисы в Windows. Однако, использовать windows services нельзя на компьютерах хостера. Вопрос в том, как элегантнее это сделать в рамках web-приложения.

Лучший ответ:

1

Можно использовать Quartz.NET для запуска периодически выполняющихся задач. В Spring.NET есть классы-обертки, которые позволяют легко создавать задачи и триггеры в контейнере. Вот статья по этому поводу: Using Quartz.NET, Spring.NET and NHibernate to run Scheduled Tasks in ASP.NET

Новые ответы


0

Система X-Registar® –Новый гуманитарный проект, результат сотрудничества врачей и специалистов в области IT. Цель проекта – профилактика ЗППП. [url=http://x-registar.ru]гепатит[/url]

0

Путь к Истине начинается здесь - http://a.freewey.com Внимание! Это не реклама сайта - это "реклама" Истины, которую должен знать каждый. Свои ссылки вы сможете опубликовать на странице "Your site".

0

Hello I would like to tell you about the music genre [b]HardStyle[/b]. With it you can find on the site [url=http://defqon.ru/]HardStyle[/url], just visit [url=http://forum.defqon.ru/]Hardstyle Forum[/url]. With best wishes. :-)

0

I have tried Viagra and Cialis before and must say that Levitra causes less side effects though. I had terrible headache with Viagra which made sex impossible sometimes. With Levitra ...

[url=http://www.generic-only.com/]Cheap meds. Quality guaranteed by brand [/url]

0

Посмотрите действительно запоминающийся сайт: [URL=http://davai-znakomitsa.ru/znakomstva-chepetsk.html]знакомства чепецк[/URL]

Оптимально начать письмо с приветствия (Hello, Hi, Dear) и собственно обращения по имени к мужчине.

0

Daybed plans free :-x [url=http://demnnwq.fyihoj.in/Bh4n7.html]Oxycodone er op[/url] apavioccabusese Citi business card login

2

Самое распространённое решение этой проблемы:

1 Callback для таймера

Timer timer = new Timer(new TimerCallback(MyWorkCallback), HttpContext, 5000, 5000);

2 Поток в пул потоков

Thread thread = new Thread(Work);
thread.IsBackground = true;
thread.Start();

3 Собственно рабочий процесс

BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(DoMyWork);
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DoMyWork_Completed);
worker.RunWorkerAsync();

4 Кэширование как здесь

Чак Норрис

А в чем суть подхода номер 4?

Sergey

В качестве примера

организация праздников

супер, спасибо. как раз это искал.


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.