HttpWebRequest:请求已中止:请求已取消

时间:2010-10-20 16:15:03

标签: c# .net httpwebrequest

我正在尝试发送一个xml文件并获取一个xml文件作为响应。我试图发送的文件略高于20,000 KB。我尝试添加超时,并将keepalive设置为false,但两者都不起作用。我四处寻找,但找不到适用于我的任何东西。到目前为止,我刚刚打破了文件,并将文件发送到3-400 kb之间的文件中。如果有人有任何想法我会非常感激。感谢名单。

HttpWebRequest hrequest = (HttpWebRequest)WebRequest.Create();
hrequest.KeepAlive = false;
hrequest.Timeout = 10000 * 60;
hrequest.Method = "POST";
hrequest.Headers.Add("Authorization", "Basic " + 
    Convert.ToBase64String(Encoding.ASCII.GetBytes("")));
hrequest.ContentType = "application/x-www-form-urlencoded";
Byte[] byteArray = Encoding.UTF8.GetBytes(
    File.ReadAllText("C:\\Payvment\\UploadProductsXML\\" + qStart + ".xml"));
hrequest.ContentLength = byteArray.Length;
Stream reqStream = hrequest.GetRequestStream();
reqStream.Write(byteArray, 0, byteArray.Length);
reqStream.Close();
StreamReader streamRdr = new StreamReader(
    hrequest.GetResponse().GetResponseStream());
string strResponse = streamRdr.ReadToEnd();
StringReader stringRdr = new StringReader(strResponse);

1 个答案:

答案 0 :(得分:1)

除非您更改邮件大小max,否则Web服务器肯定不会允许大的请求。在wcf中,属性为maxRecievedMessageSize,默认为64k。此外,其中一些属性,max size / timeout是服务器上的属性,修改您的请求不会改变它的想法。