1
我有一個非常簡單的HTTP得到應用,這裏是它爲什麼WebRequest只能工作兩次?
using System;
using System.Net;
using System.Threading;
namespace UploadRichardsStatusConsoleApplication
{
class Program
{
static void Main()
{
const string requestString = "http://www.google.com/";
while (true)
{
var request = WebRequest.Create(requestString);
Console.WriteLine("request sent = " + requestString);
try
{
var response = request.GetResponse();
Console.WriteLine("response.ContentLength = " + response.ContentLength);
}
catch (WebException)
{
Console.WriteLine("Request timed out");
}
Thread.Sleep(5000);
}
}
}
}
一個更簡單的刪節版真正的控制檯應用程序,有我自己的Azure的URL,但問題表現任何請求字符串,即使谷歌,所以我不認爲這是一個服務器端問題。當我運行代碼時,前兩個循環成功,即報告了response.ContentLength
。此後,他們超時。爲什麼我只接到兩個電話?我工作的實際應用使用了HTTP GET定期報告狀態,所以我必須這樣做反覆
我要指出,我已經試過(兩倍以上!):
- 添加未使用的查詢屬性到URL這些工作,使每個URL是 不同
- 設置超時巨大價值
- 繞過高速緩存
但沒有編輯。
這一工程 - 感謝喬恩(我時,我可以接受在幾分鐘的答案)。 – dumbledad 2013-05-01 14:50:58