C#Web客户端上传速度(C# WebClient upload speeds)

2019-10-17 02:21发布

我想知道是否有可能增加对Web客户端异步数据上传缓冲区的大小,因为目前它推动〜320KB / s的最大。

我当前的代码:

using (WebClient Client = new WebClient())
{
    byte[] Buffer = File.ReadAllBytes(this.WorkItem.FileLocation);

    Client.UploadProgressChanged += new UploadProgressChangedEventHandler(Client_UploadProgressChanged);
    Client.UploadDataCompleted += new UploadDataCompletedEventHandler(Client_UploadDataCompleted);
    Client.UploadDataAsync(new Uri("-snip-"), Buffer);
}

编辑
连接不上的限制因素。 (其300mbit连接,网络的服务器在〜30-40mB / s的标记推送内容)

Answer 1:

如果您想对数据的缓冲进行更多的控制,你需要使用HttpWebRequest类。 有了这个类,你可以选择你的读缓存从阅读FileStream ,然后你有多少写网络流。 这样做4MB读取和写入32KB为最佳杏我的网络吞吐量(虽然你必须做你自己的基准测试,看看哪些缓冲区最适合在您的情况)。



文章来源: C# WebClient upload speeds