2013-09-30 2 views
0

код выглядит следующим образомHttps тайм-аут запроса, после перезагрузки сервера

var request = WebRequest.Create(new Uri(reqStr, UriKind.Absolute)); 
       request.Method = "POST"; 
       request.Timeout = 15000; 

Stream dataStream = request.GetRequestStream();    
WebResponse response = request.GetResponse(); 

var dataStreamResp = response.GetResponseStream(); 

Я называю это каждые 10 секунд, и она отлично работает. Если я отключу свое локальное подключение, включите его, он будет работать. Но, когда перезагрузка сервера, я получаю исключение тайм-аута (сервер работает после перезапуска). В чем проблема?

ответ

0

Похоже, что ваш сервер занимает больше 15 секунд для запуска и начала обслуживания запросов.

У вас возникло бы другое исключение, если запрос был в процессе и ожидал ответа, и сервер закрыл соединение вместо отправки ответа.

Я бы предложил установить Fiddler2 и посмотреть, что происходит с запросом. Вы должны уметь видеть, начинается ли запрос после появления сервера и что сервер делает в этом случае (закройте соединение, отправьте ответ в конце концов и т. Д.).

Вы также можете сохранить запрос с помощью Fiddler и воспроизвести его сразу после перезапуска сервера (в течение нескольких секунд), чтобы подтвердить, что независимый HTTP-клиент видит те же результаты, что и ваш код, таким образом вы узнаете, что это isn 't стоит отлаживать ваш код клиента, так как проблема на вашем сервере слишком долго запускается.

Harold

Смежные вопросы