HttpWebRequest: запрос был прерван: запрос был отменен - PullRequest
1 голос
/ 20 октября 2010

Я пытаюсь отправить файл XML и получить обратно файл XML в качестве ответа. Файл, который я пытаюсь отправить, имеет размер чуть более 20 000 КБ. Я попытался добавить тайм-аут и установить для keepalive значение false, но ни один из них не работает. Я искал вокруг, но я не могу найти ничего подходящего для меня. На данный момент я только что сломал файл и отправлял его в файлах размером от 3 до 4 тыс. КБ. если у кого-то есть идеи, я был бы очень признателен. Thanx.

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 Ответ

1 голос
/ 20 октября 2010

веб-сервер определенно не допустит такой большой запрос, если вы не измените максимальный размер сообщения. в wcf свойство имеет значение maxRectainedMessageSize и по умолчанию равно 64 КБ. также некоторые из этих свойств, max size / timeout, являются свойствами на сервере, и изменение вашего запроса не изменит его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...