我想在Blazor中做这样的事情:
HttpClient httpClient = new HttpClient
{
Timeout = TimeSpan.FromMilliseconds(Timeout.Infinite) };
var request = await httpClient.GetAsync("https://this.is.my.url", HttpCompletionOption.ResponseHeadersRead);
var stream = await request.Content.ReadAsStreamAsync();
var bufferedStream = new BufferedStream(stream);
}
但Blazor忽略了HttpCompletionOption.ResponseHeadersRead
。
由于这个原因,我正在寻找HttpClient
类的替代方法。
RestSharp可能是我的问题的解决方案,但是我找不到一个选项来告诉RestClient一旦响应可用,就应该认为操作应该完成,而不是在读取包括内容的整个响应消息之后才考虑。
RestSharp中是否有HttpCompletionOption.ResponseHeadersRead
之类的东西?
答案 0 :(得分:0)
如果您在客户端Blazor中工作,则无法实现所需的功能,因为HttpClient通过HTTP API fetch
工作,并且您通常会受到所有浏览器限制。
其他选项是,当您将使用标准.NET运行代码时,将项目切换到服务器端Blazor,并让代码在服务器上运行。