Я программирую в .net WPF.Отмена асинхронного вызова (IAsyncResult)
У меня есть (сторонний) API, который реализует асинхронный шаблон вызова Begin/End. Функция BeginWork() возвращает IAsyncResult.
Однако не существует видимого метода отмены/прерывания вызова после его завершения.
Есть ли способ прекратить такую работу? Если для этого требуется, чтобы автор библиотеки явно указывал на метод отмены, то каким способом можно убить эту работу, даже беззастенчиво? Мне действительно нужно как-то остановить это, так как одна работа может занять несколько часов!
Спасибо!
Ну, что конкретный API? Но: если они не обнародуют отмену, я бы не предположил, что вы можете отменить ее. –
@ilansch мне непонятно, что сообщение WCF обязательно будет применяться здесь ... Есть много асинхронных/IAsyncResult API, и они ведут себя по-другому –
Это загрузка S3 от Amazon. Но вчера я задал конкретный вопрос об этой библиотеке и не получил ответа. Поэтому я вместо этого подумал об общем способе убить асинхронную задачу. http://stackoverflow.com/questions/16485629/s3-multipart-upload-how-can-i-cancel-one – Palantir