c# - HttpWebRequest 的前两次写入几乎立即发生,为什么?

标签 c# http file-upload

使用 HttpWebRequest 上传文件时,对请求流的前两次写入总是几乎立即完成。我认为一定有某种缓冲发生,所以我禁用了,所以我这样做了

_req.AllowWriteStreamBuffering = false;

但这并没有产生任何影响。

这有点烦人,因为我通过平均最后 10 个写入速度来测量上传速度,所以一开始我的应用程序显示出非常快的速度,然后又回落到 50kbps 左右。

如果我能从第一次写入开始测量速度就太好了。

有什么想法吗?

最佳答案

TCP 堆栈可能会非常快速地从应用程序获取初始写入窗口。它正在后台发送数据(在立即接受数据后)。

AllowWriteStreamBuffering 告诉 HttpWebRequest 不要缓冲。它不告诉 TCP 做什么。

关于c# - HttpWebRequest 的前两次写入几乎立即发生,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868147/

相关文章:

c# - 如何在 WPF 中捕获从子组件到父组件的激活命令?

java - 修改 HttpServletRequest 体

javascript - 如何处理 Controller 内部 Angular 服务的错误?

html - 前端可以/应该处理多少 csv 解析?

angular - PrimeNG - 通过单击按钮发送表单数据和 FileUpload 数据

c# - 将除特定行以外的所有行复制到文本文件

c# - 如何防止刚体穿过其他碰撞体

c# - 查看数据库中的数据与 EF 生成的不同

google-maps - Google 地点详细信息不返回照片数组

asp.net - 可能在 ASP.Net 页面中抛出 404 错误?