2011-04-05 101 views
0

我有一個奇怪的問題,我不確定它來自哪裏。 昨晚我開始申請時開始了。運行線程應用程序後,無法在所有瀏覽器中瀏覽到所有網站

我有以下代碼:

DateTime startTime = DateTime.Now; 
WebRequest req = (WebRequest)HttpWebRequest.Create("http://" + server + url + action); 
WebResponse res = req.GetResponse(); 
try 
{ 
    using (StreamReader reader = new StreamReader(res.GetResponseStream())) 
    { 
     string response = reader.ReadToEnd(); 
     TestInfo.CheckMsg retMsg; 

     // individual Test 
     retMsg = indFunc(req.RequestUri.ToString(), response); 
     printMessage(retMsg, req, res, startTime); 

     if (retMsg.SeverityLevel > TestInfo.CheckMsg.Severity.Warning) 
      return; 

     // group Test 
     retMsg = groupFunc(relatedGroup, req.RequestUri.ToString(), response); 
     printMessage(retMsg, req, res, startTime); 

     if (retMsg.SeverityLevel > TestInfo.CheckMsg.Severity.Warning) 
      return; 

     // common Test 
     retMsg = commonFunc(req.RequestUri.ToString(), response); 
     printMessage(retMsg, req, res, startTime); 

     if (retMsg.SeverityLevel > TestInfo.CheckMsg.Severity.Warning) 
      return; 

     reader.Close(); 
    }; 
} 
catch (Exception e) 
{ 
    Console.WriteLine("EXCEPTION WAS THROWN!!!!! " + e.Message); 
} 
finally 
{ 
    res.Close(); 
} 

此功能在多個線程運行。 經過多次應用程序調試後,此代碼無法連接聲明UNDERLYING CONNECTION WAS CLOSED。 當試圖瀏覽我的電腦(WIN XP)在所有瀏覽器中的所有網站我得到空白頁面或鉻我得到從服務器的響應是空的。

只有在其他TCP連接正常工作時纔會使用Http!

所以我想這個問題可能是在我的代碼(也許事情不會被釋放???)

讓我知道你怎麼想的代碼。

感謝

+0

你是什麼意思_所有瀏覽器對所有網站...空白頁'_?很多這個問題都是荒謬的,但我不知道從哪裏開始編輯它。 – 2011-04-05 14:08:01

+0

我知道它沒有意義! DNS的作品,我得到的HTTP重定向好,但即使google.com,yahoo.com將不會加載 - 鉻是唯一一個誰說它從服務器的EMPTY RESPONSE! – Himberjack 2011-04-05 14:18:35

回答

1

有一件事我確實看到了錯的是你需要移動

WebResponse res = req.GetResponse(); 

進入你的try塊BC它可以拋出一個異常(MSDN)。我還會添加一個空檢查到:

if(res != null){ 
    res.Close() 
} 
相關問題