Служба Windows WCF - длинные операции / обратный вызов вызывающего модуля
У меня есть служба Windows, которая берет имя группы файлов и выполняет с ними операции (zip / unzip, обновление базы данных и т. Д.). Операции могут занимать время в зависимости от размера и количества файлов, отправляемых в сервис.
(1) Модуль, отправляющий запрос в эту службу, ожидает обработки файлов. Я хочу знать, есть ли способ обеспечить обратный вызов в службе, который уведомит вызывающий модуль, когда он закончит обработку файлов. Обратите внимание, что несколько модулей могут вызывать сервис одновременно для обработки файлов, поэтому сервису нужно предоставить какой-то TaskId, который я предполагаю.
(2) Если метод службы вызывается и выполняется, и к тому же сервису делается другой вызов, то как будет обрабатываться этот вызов (я думаю, что только один поток связан со службой). Я видел, что когда службе требуется время для обработки метода, потоки, связанные с этой службой, начинают увеличиваться.