В настоящее время я реализую сервер C ++ с использованием лазурь-хранение-каст загружать файлы BLOB-объектов локально. Azure Storage Cpp работает поверх cpprestsdk (Касабланка), который обеспечивает параллельное управление задачами.
Простой пример из документация позволяет начать загрузку BLOB-объектов. Хорошо. Теперь я хотел бы знать, как я могу отменить загрузку / задание по требованию?
я использую Этот метод скачать в файл.
Этот метод возвращает pplx::task<void>
, Так что я думаю, что я мог бы использовать это, чтобы правильно остановить загрузку.
Но документация для конструктора pplx :: task гласит:
The version of the constructor that takes a cancellation token creates a task that can be canceled using the <c>cancellation_token_source</c> the token was obtained from. Tasks created without a cancellation token are not cancelable.
Window Azure Storage Cpp создает для нас задачу при звонке download_to_file_async. Так есть ли способ отменить / остановить задачу pplx:, созданную хранилищем Azure cpp?
Если нет, я думаю, что я собираюсь использовать API REST с libcurl.
Задача ещё не решена.
Других решений пока нет …