Что является надежным способом выполнения трудоемких задач в ASP.NET MVC2 - PullRequest
3 голосов
/ 15 сентября 2010

Мне нужен надежный способ запуска 10 разных задач одновременно. Например, первый будет отправлять электронные письма, а следующий - чистить строки из определенной таблицы ... и так далее.

Я использовал класс Thread, и хотя он хорошо работает на моей машине для разработки (внутренний веб-сервер VS2010), ни один из этих потоков, похоже, вообще не работает на моем производственном сервере. И я не знаю эффективного способа отладки проблемы на рабочем сервере.

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


Наверное, мои вопросы Как правильно бесконечно запускать фоновые задачи в приложениях ASP.NET MVC2?

Ответы [ 3 ]

4 голосов
/ 15 сентября 2010

Лучший способ - не запускать их в коде ASP.net. Это звучит как идеальная задача для запланированной задачи или службы Windows. ASP.net (MVC или иным образом) на самом деле не настроен для этого - разделите их на отдельный проект.

1 голос
/ 15 сентября 2010

Я использовал для этого quartz.net , и это сработало довольно хорошо.

1 голос
/ 15 сентября 2010

Конечно, есть много способов.Вот один из них.

Реализуйте свои долгосрочные задачи как службу Windows, отправляйте сообщения о том, что нужно сделать этой службе из приложения ASP.NET, используя MSMQ,

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