C# 运行线程化应用程序后,无法在所有浏览器中浏览到所有站点

C# 运行线程化应用程序后,无法在所有浏览器中浏览到所有站点,c#,multithreading,C#,Multithreading,我有一个奇怪的问题,我不知道它是从哪里来的。 从昨晚我开始申请的时候开始的 我有以下代码: DateTime startTime = DateTime.Now; WebRequest req = (WebRequest)HttpWebRequest.Create("http://" + server + url + action); WebResponse res = req.GetResponse(); try { using (StreamReader reader = new St

我有一个奇怪的问题,我不知道它是从哪里来的。 从昨晚我开始申请的时候开始的

我有以下代码:

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();
}
此函数在多个线程上运行。 在多次应用程序调试后,此代码无法连接,声称基础连接已关闭。 当我尝试在我的电脑(WIN XP)中的所有浏览器中浏览所有站点时,我得到的不是空白页面,就是chrome浏览器中的响应是空的

当其他TCP连接工作时,仅Http被拧紧

所以我猜问题可能出在我的代码中(可能有些东西没有发布?)

让我知道你对代码的看法


谢谢

有一件事我确实觉得不对,那就是你需要搬家

 WebResponse res = req.GetResponse();
在try块中,它会抛出异常)。我还将添加一个空检查:

 if(res != null){
   res.Close()
 }

你所说的“所有网站的所有浏览器…”是什么意思。。。空白页'?这个问题有很多是荒谬的,但我不知道从哪里开始编辑它。我知道它没有意义!DNS可以工作,我可以得到HTTP重定向,但即使是google.com,yahoo.com也不会加载-chrome是唯一一个说它从服务器得到空响应的人!