サイトにデータをアップロードする必要がある ac# アプリケーションで忙しくしています。http ポストを使用してデータをアップロードしますが、アプリケーションには遅すぎます。少量のデータをアップロードするのに約 1.5 秒かかります。私は2つの異なるアプローチを試みました。
アプローチ 1、WebRequest を使用:
WebRequest request = WebRequest.Create(packet.url.ToString());
request.Method = "POST";
request.Proxy = null;
byte[] byteArray = Encoding.UTF8.GetBytes(packet.postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
アプローチ 2、WebClient を使用:
string responseFromServer;
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
responseFromServer = wc.UploadString(packet.url, packet.postData);
}
これらはどちらもまったく同じ遅延です。私はjavascriptで同じことをテストしました。xmlhttprequest を使用して同じデータをサーバーに投稿したところ、データのアップロードに 0.5 秒もかかりませんでした。C# でこれを行うより高速な方法があれば教えてください。