为什么以下代码超时运行它的第二个(及后续)时间?
代码挂起:
using (Stream objStream = request.GetResponse().GetResponseStream())
Run Code Online (Sandbox Code Playgroud)
然后导致WebException表示请求已超时.
我试过这个用WebRequest和HttpWebRequest
编辑:似乎代码正在崩溃 request.GetResponse()
编辑:这篇文章表明它可能是一个GC问题 - > http://www.vbforums.com/showthread.php?t=610043 - 根据这篇文章,如果Fiddler在后台打开,问题就会得到缓解.
服务器在那里并可用于请求.
private string GetQLMResponse(string URL)
{
HttpWebRequest request = WebRequest.Create(URL) as HttpWebRequest;
request.Credentials = new NetworkCredential(Settings.Default.LicenseUser, Settings.Default.LicensePassword);
request.KeepAlive = false;
request.Timeout = 5000;
request.Proxy = null;
// Read stream
string responseString = String.Empty;
try
{
using (var response = request.GetResponse())
{
using (Stream objStream = response.GetResponseStream())
{
using (StreamReader objReader = new StreamReader(objStream))
{
responseString = objReader.ReadToEnd();
objReader.Close();
}
objStream.Flush(); …Run Code Online (Sandbox Code Playgroud)