HttpClient上传多个文件 - 我可以避免服务器瓶颈吗?

时间:2015-06-02 10:59:59

标签: c# performance dotnet-httpclient

所以我目前正在生成3组小文件(考虑每组1-2个),我想及时上传到服务器。文件不大,但由于它们的数量,它似乎堵塞了服务器。这是我目前的实施:

System.Net.Http.HttpRequestMessage request = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, _serverUri);

MultipartFormDataContent form = new MultipartFormDataContent();
request.Content = form;

HttpContent content1 = new ByteArrayContent(filePart1);
content1.Headers.ContentDisposition = new ContentDispositionHeaderValue("filePart1");
content1.Headers.ContentDisposition.FileName = "filePart1";
form.Add(content1);

HttpContent content2 = new ByteArrayContent(filePart2);
content2.Headers.ContentDisposition = new ContentDispositionHeaderValue("filePart2");
content2.Headers.ContentDisposition.FileName = "filePart2";
form.Add(content2);

_httpClient.SendAsync(request).ContinueWith((response) =>
{
        ProcessResponse(response.Result);
});

filePart1& filePart2表示来自其中一个数据集的文件,因此其中有3个,每个文件集同时运行一个文件。

我想知道的是,是否有更好的方法来实现这一目标,因为当前的方法似乎通过轰炸文件来阻塞服务器。是否有可能以某种方式为每组文件打开一个流并以某种方式将每个文件作为一个块发送?在发送下一个文件之前,我应该等待服务器响应吗?

0 个答案:

没有答案