Asp.net WebRequest.Create-操作已超时

Asp.net WebRequest.Create-操作已超时,asp.net,httpwebrequest,timeout,web-crawler,Asp.net,Httpwebrequest,Timeout,Web Crawler,我试图在我自己的网站上抓取几个页面,但在我的实时环境中,我得到了一个超时webException(“操作已超时”),但在我的测试环境中,没有。超时不会在同一页面上发生两次,而是在一些请求之后随机发生。第一次超时后,超时的频率增加 测试环境上的RequestUrString: live环境中的RequestUristing: 我会尝试设置webRequest.ServicePoint.ConnectionLimit=100试试这个(但只针对您的测试环境) 保持活动状态:如果对Internet资

我试图在我自己的网站上抓取几个页面,但在我的实时环境中,我得到了一个超时webException(“操作已超时”),但在我的测试环境中,没有。超时不会在同一页面上发生两次,而是在一些请求之后随机发生。第一次超时后,超时的频率增加

测试环境上的RequestUrString:

live环境中的RequestUristing:


我会尝试设置
webRequest.ServicePoint.ConnectionLimit=100

试试这个(但只针对您的测试环境)

保持活动状态:如果对Internet资源的请求应包含带有值的连接HTTP头,则为true

webRequest.KeepAlive=true
webRequest.Timeout=95*95*100000


你的爬行代码到底在哪里?它在web应用程序中还是外部应用程序中?如果您在浏览器中导航到RequestUrString,是否也会出现超时?我的代码位于web应用程序中。当我在浏览器中导航到RequestUrString时,会显示页面。您是否曾经得到过此问题的答案?我也有同样的问题。
var webRequest = (HttpWebRequest)WebRequest.Create(requestUriString);
webRequest.KeepAlive = false;
webRequest.Timeout = 3 * 30 * 1000;
webRequest.PreAuthenticate = false;

using (WebResponse webResponse = webRequest.GetResponse()) //ERROR OCCURS HERE
{

    using (Stream responseStream = webResponse.GetResponseStream())
    {
         if (responseStream != null)
         {
              using (var reader = new StreamReader(responseStream))
              {
                   string readToEnd = reader.ReadToEnd();
                   .....          
              }

         }                
     }
 }