ASP.Net Page HttpWebRequest требует много времени, чтобы ответить - PullRequest
1 голос
/ 24 февраля 2010

Ниже приведен мой код (веб-проект ASP.net), но когда я отлаживаю эту страницу asp, требуется время, чтобы получить ответ? есть идеи, почему это происходит?

, а также провайдеры aURl, упомянутые для использования req.connection = "Close", но когда я использую это, выдает ошибку (я новичок в httpwebrequest вздох )

это документация о соединение -Это значение указывает, что соединение не должно быть keep-alive соединение.

var url = new Uri(@"My URL");
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    req.KeepAlive = false;      
    req.Method = "POST";
    req.ContentType = "text/xml";
    //This Fails but the documentation asks to use this ??
    //req.Connection = "Close";
     var requestdata = File.ReadAllText(@"D:\request.txt");
    //req.ContentLength = requestdata.Length;
    StreamWriter myWriter = null;
    myWriter = new StreamWriter(req.GetRequestStream());
    myWriter.Write(requestdata);
    HttpWebResponse objResponse = (HttpWebResponse)req.GetResponse();

Ответы [ 2 ]

3 голосов
/ 24 февраля 2010

Попробуйте отключить автоопределение для прокси. Я видел, где первый запрос из приложения может быть на порядок медленнее из-за этого:

  <system.net>
    <defaultProxy>
      <proxy autoDetect="False"/>
    </defaultProxy>
  </system.net>
3 голосов
/ 24 февраля 2010

Это может произойти, если у вас медленное интернет-соединение или если URL находится на медленном сервере.

Однако попробуйте закрыть поток запросов, например так:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

req.KeepAlive = false;      
req.Method = "POST";
req.ContentType = "text/xml";

using(StreamWriter myWriter = new StreamWriter(req.GetRequestStream())
    myWriter.Write(File.ReadAllText(@"D:\request.txt"));

HttpWebResponse objResponse = (HttpWebResponse)req.GetResponse();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...