У меня работает winservice, у которого есть 2 основные цели.
- Выполнять / обрабатывать открытые веб-методы.
- Запуск внутренних процессов, которые потребляют много ресурсов ЦП.
Проблема в том, что когда я выполняю много внутренних процессов (в виде задач), которые поставлены в очередь в пул потоков или пул задач, выполнение веб-методов занимает гораздо больше времени, так как WCF также ставит свои выполнения в очередь в тот же пул потоков. Это даже происходит, когда задается самый низкий приоритет задачи внутренних процессов и устанавливается приоритет высоты потока веб-методов на высотах.
Я надеялся, что Framework 4.0 улучшит это, и они это сделали, но все же системе требуется достаточно много времени для обработки поставленных в очередь задач WCF, если ЦП обрабатывает другие внутренние задачи.
- Можно ли изменить пул потоков, используемый WCF, на другой?
- Можно ли вручную изменить очередь задач (глобальная очередь задач, локальная очередь задач).
- Можно ли вручную обрабатывать 2 очереди задач, которые ведут себя по-разному?
Любая помощь по теме будет присваиваться.
Гилад.