Фоновый рабочий поток в контексте WebService - PullRequest
1 голос
/ 06 августа 2009

Хорошо, поэтому у меня есть Call1 в веб-сервисе, который запустит рабочий поток bacground, чтобы начать выполнять некоторую обработку, но хотел бы иметь другой вызов (Call2), который будет контролировать исходный рабочий поток через ссылку?

Любые предложения о том, как это сделать? Я действительно хотел бы держаться подальше от WinService, чтобы сделать мою обработку. Как мне нужно, чтобы быть в реальном времени.

1 Ответ

2 голосов
/ 06 августа 2009

Я не понимаю, почему использование приложения-службы должно быть проблемой. Сервисы работают постоянно, а мониторинг их можно осуществлять в режиме реального времени.

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

Вы можете использовать для этого библиотеку планировщика задач. Проверьте Quartz.net для этого.

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

...