正确中止或取消 PostAsync

2024-04-03

使用 HttpClient 时是否有保证取消帖子的方法?我目前有一个调用 do PostAsync 的方法,我试图使用取消令牌取消该调用,但它似乎实际上并没有中止/停止操作。我仍然可以看到我上传的图像已正确发布。

我在这里做错了什么,或者 HttpClient 有可能在上传之后才处理取消令牌吗?

var sc = new StreamContent(uploadFile.Data);
content.Add(sc, uploadFile.FieldName, uploadFile.FileName);

var request = new HttpRequestMessage
{
    RequestUri = new Uri(ApiImageUrlUpload),
    Content = content
};

request.Headers.TryAddWithoutValidation("User-Agent", _sessionManager.UserAgent);
request.Headers.TransferEncodingChunked = true;

using(cancellationToken.Register(() => httpClient.CancelPendingRequests()))
    httpResponse = await HttpClient.PostAsync(new Uri(ApiImageUrlUpload), content, cancellationToken);

您可以手动处理请求对象,这应该抛出一个ObjectDisposedException并取消任何网络活动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正确中止或取消 PostAsync 的相关文章

随机推荐