2011-03-17 4 views
0

웹 리소스를 여러 번 호출하고 싶지만 웹 응답을 요청할 때 금지됩니다.스레드 속의 HttpWebResponse 금지됨

protected void Page_Load(object sender, EventArgs e) 
    { 


     Thread[] tt = new Thread[10]; 
     for (int i = 0; i < 10; i++) 
     {    
      Thread t = new Thread(doJob); 
      tt[i] = t; 
      t.Start(); 
     } 

     foreach (Thread t in tt) 
     { 
      t.Join(); 
     } 
     Response.Write("TOTAL" + howmanyDone); 
    } 

    private void doJob() 
    {   
     HttpWebRequest wr = (HttpWebRequest) HttpWebRequest.Create("http://www.google.com");   
     WebResponse res = wr.GetResponse(); 
+0

http://msdn.microsoft.com/en-us/library/kd5csyhf.aspx 당신이 '내가 금지 가져 오기'보다 더 구체적으로 할 수 있습니다. 전체 예외는 무엇입니까? 모든 스레드가이 작업을 수행합니까 아니면 일부만 수행합니까? –

+0

WebExceiption : 403 forbidden – Himberjack

+0

google.com과 다른 도메인을 사용하십시오. 반복적 인 요청 (가능한 공격의 경우)을 감지하는 데 세계 최고의 장비를 갖고있을 가능성이 큽니다. –

답변

1

는 프레임 워크에 를 구축 동일한 도메인에 2 개 동시 요청의 기본 제한이있다. 그냥 당신이의 HttpWebRequest 개체를 만든 후 코드에 코드 줄을 넣어 :

wr.ServicePoint.ConnectionLimit = 50; 

체크 아웃 문서 :

관련 문제