Я реализую веб-службу, в которой клиенты могут отправлять потенциально долгосрочные задачи, после чего они получают асинхронный токен завершения (GUID, в моем случае). Маркер может использоваться для опроса статуса операции, возможно, для получения результата вычисления или ошибки, возникшей во время вычисления. Кроме того, операция может быть отменена в любое время. В настоящее время клиенту необходимо отменить операцию после ее завершения, чтобы освободить сохраненный результат, однако я ожидаю, что также потребуется какая-то форма сбора мусора результатов.Есть ли (широко внедряемый) WS- * стандарт для длительных асинхронных операций?
Эта настройка является нетривиальной для клиента: ей необходимо периодически хранить маркер GUID, периодически опросить, не забудьте отменить операцию, если она больше не нужна, обрабатывать асинхронные ошибки и т. Д. Если потребуется некоторая проверка подлинности (WS-Security, WS-Trust), ситуация будет еще более сложной, например, должен быть запрещен доступ к статусу операции, запущенной другим пользователем.
Существует ли широко доступный, совместимый WS- * стандарт для таких асинхронных операций? Я хотел бы иметь возможность вызывать сервер, по крайней мере, из WCF и клиента JAX-WS, и, возможно, использовать асинхронные задания в сочетании с другими стандартами WS- *. Роллинг моего опроса не имеет большого значения, однако я бы не хотел изобретать велосипед.
Это был случай, когда вы использовали бы WCF вместе с многолетними рабочими процессами Windows Workflow Foundation под Microsoft Windows Server AppFabric. К сожалению, я думаю, что WS AppFabric был отмечен для прекращения. – MickyD