У меня есть библиотека классов, которую я разработал и которая довольно интенсивно обрабатывает, которую я в настоящее время вызываю через службу REST WCF.
Служба REST напрямую обращается к библиотекам DLL для библиотеки классов и более или менее службы отдыха WCF.интерфейс для системы
Допустим, определены следующие методы:
Создать запрос
Запускает поток, который занимает пять минут, но немедленно возвращает идентификатор сеанса, которыйпроцесс генерирует, и поток использует, чтобы сообщить, когда он будет завершен в базу данных.
Проверка состояния
Принимает идентификатор сеанса и проверяет базу данных, чтобы увидеть, если процесс имеетзавершено.
Мне нужно подумать, что есть лучший способ «управлять» запущенными потоками, однако мои требования утверждают, что пользователь должен получить немедленный ответ от службы REST при выдаче запроса.
Я использую свойство сообщения WCF для возврата XML в браузер, и так как это приложение можно вызвать из любого языка программирования, я не могу использовать классический WCF и обратные вызовы (я думаю, исправьте меня, если я ошибаюсь).
Иногда я сталкиваюсь с проблемой, когда возникает ошибка, и событие iscomplete никогда не записывается в базу данных, и поэтому "Check Status "метод говорит, что он обрабатывает вечность.
У кого-нибудь есть идеи о том, что обычно делается и что можно сделать в этой ситуации?
Спасибо!
Джеффри Кевин Прай