【发布时间】:2021-10-18 11:32:30
【问题描述】:
我有一个方法接受 Stream 参数并将其传递给服务器
public async Task<string> Execute(Stream archive)
{
archive.Seek(0, SeekOrigin.Begin);
using var content = new MultipartFormDataContent();
content.Add(new StreamContent(archive), "file1", "file1");
var result = "";
using (var response = await _client.PostAsync(_uri, content))
{
if (response.IsSuccessStatusCode)
{
var stringResult = await response.Content.ReadAsStringAsync();
result = stringResult;
}
}
// here archive is already disposed
return result;
}
现在我实现了这个方法的重试策略。 如果调用此方法的外部代码得到“”作为结果,则它会尝试再次调用此方法。 但是档案是在那一刻处理的。 我看到归档流在处理响应后立即被处理。 为什么? 如果在这个方法之后需要流参数外面怎么办?
【问题讨论】:
标签: c# .net-core httpclient httpresponsemessage