Мне нужно запустить поток, чтобы выполнить некоторую длительную задачу в фоновом режиме (даже если браузер закрыт), не дожидаясь ответа на событие нажатия кнопки на веб-странице.запуск и остановка потоков из ASP.NET
Я также должен быть в состоянии остановить это позже, если пользователь захочет это сделать.
Как я могу это сделать?
Можно ли сохранить id
из потока в базе данных и прервать его позже?
Нужно ли делать асинхронный webservice
ИЛИ wcf
позвонить, чтобы добиться этого?
Как я могу остановить долговременную задачу позже, если это необходимо в этом случае?
Заранее спасибо.
Это то, что я почти решил из-за различных проблем (например, балансировки нагрузки и т. Д.) В управлении долгосрочными задачами на веб-сервере. служба Windows может запускать несколько потоков для параллельного выполнения задач. единственная проблема с сервисом Windows заключается в том, что ему нужно постоянно проверять базу данных каждую секунду или несколько минут, чтобы проверить новые запросы, которые неэффективны в нерабочее время, будет лучше, если это каким-то образом управляется событием, как событие публикуется, когда пользователь делает запрос, а услуга подписывается на него и действует ТОЛЬКО при появлении нового запроса. мне нужно использовать MSMQ для этого? – RKP
Вы можете попробовать MSMQEvent и посмотреть, работает ли он на вас. Опрос не должен накладывать большую нагрузку на сервер, если вы не постоянно его забиваете. Вы можете отступить на интервал в нерабочее время, если это очень важно. Но цель машин - делать что-то, поэтому, если он не делает ничего другого, что не так с некоторым опросом? –
спасибо за ответ – RKP