gpt4 book ai didi

c# - 为什么 .Net HttpClient 发布请求很慢(当 fiddler 未运行时)?

转载 作者:可可西里 更新时间:2023-11-01 16:40:50 25 4
gpt4 key购买 nike

我在使用“HttpClient”.Net 组件时遇到了这种奇怪的行为。

我在发布请求中上传一个文件 (1.1MB)。当 fiddler 关闭时,大约需要 15 秒,当 fiddler 打开时,大约需要 4 秒。

我没有使用任何代理,使用 TLS1 上传到 HTTPS 服务器。我只发送一个请求,不确定 keep-alive 会改变什么......我也尝试做一些这里提到的“telerik”的事情: http://www.telerik.com/blogs/help!-running-fiddler-fixes-my-app-

但是没有成功,

还有其他我错过的设置吗?缓冲区大小?不知道怎么设置..

这是我上传文件的方式:

           HttpClient _httpClient;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
...
...
...

MultipartFormDataContent multipartData = new MultipartFormDataContent();
multipartData.Add(new StreamContent(File.OpenRead(scanPath)), "fileToUpload","\"" + Path.GetFileName(scanPath) + "\"");

HttpResponseMessage response = await _httpClient.PostAsync("FileUpload", multipartData);

MyObject result = await GetResultFromResponse<MyObject>(response);

最佳答案

通过使用“ByteArrayContent”而不是“StreamContent”解决。

在“MultiPartFromData”类的“add”方法中

这种类型的 HttpContent 大约快 5-8 倍。

multipartData.Add(new ByteArrayContent(File.ReadAllBytes(scanPath)), "fileToUpload", "\"" + Path.GetFileName(scanPath) + "\"");

关于c# - 为什么 .Net HttpClient 发布请求很慢(当 fiddler 未运行时)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40745994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com