我开发了连接到服务器并从中获取不同信息的客户端应用程序。它是多线程的应用程序。当我用几个线程启动它时它完美无缺。 直到它开始使用以下消息抛出异常:
“无法连接到远程服务器”
我使用过TCPView,无法找到有关我的客户端应用程序的任何信息。因此,当它开始返回“无法连接”时,它甚至不会打开任何http连接...
我如何弄清楚它为什么不打开连接?
谢谢,
修改
以下是我在多个线程中用于构建页面内容的代码:
HttpWebResponse response = null;
Stream resStream = null;
StreamReader reader = null;
string res = "";
try
{
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(requestUrl);
if (cookies_ == null)
{
cookies_ = new CookieContainer();
}
request.Timeout = timeoutVal_;
request.ReadWriteTimeout = timeoutVal_ * 2;
request.KeepAlive = false;
if (bUseCookies)
{
request.CookieContainer = cookies_;
}
// execute the request
response = (HttpWebResponse)
request.GetResponse();
resStream = response.GetResponseStream();
reader = new StreamReader(resStream);
res = reader.ReadToEnd();
}
catch (Exception ex)
{
throw new Exception(siteToken + " " + ex.Message);
}
finally
{
if (response != null)
response.Close();
if (resStream != null)
resStream.Close();
if (reader != null)
{
reader.Close();
}
}
return res;
几分钟线程进入具有超时异常的循环或无法连接到服务器。
奇怪的是,如果我启动Fiddler,连接会重新激活,并且线程会继续工作一段时间。 Fiddler如何解决这个问题?