2017-04-06 21 views
1

다음 해결책을 시도했습니다.긴 요청에만 서버가 응답하지 않습니다. 기본 연결이 닫혔습니다. ReadResponse()가 실패했습니다.

1) 클라이언트 요청 시간이 길어졌습니다.

2) web.config HTTPRuntime 태그에서 서버 ExecutionTimeout을 늘리십시오.

3) ASMX 및 WCF 서비스를 모두 사용하려고했습니다. 서버 페이지에 시간이 걸리는 경우 (코드 숨김)에도 오류 메시지가 표시됩니다 ("ReadResponse() failed: The server did not return a response for this request.").

4) IIS에서 응용 프로그램 풀 시간 초과를 변경하십시오.

5) 사용> 공통 헤더를 설정>> 내 웹 사이트> HTTP 응답 헤더를 IIS 변경/비활성화 HTTP 살아 나는 서버 시간 제한 문제를 테스트하기 위해 다음 코드를 사용하고

: 우리는이

[WebMethod] 
    public string LongRequest(int delaySeconds) 
    { 
     Thread.Sleep(delaySeconds*1000); 
     return "Delayed for " + delaySeconds + " Seconds"; 
    } 

을 다른 서버가 있지만이 문제는 하나의 서버에서만 나타납니다.

참고! 이 문제는 요청이 40 초 이상 걸리는 경우에만 나타납니다. (이 시간은 매번 감소 할 때마다 구체적이지 않습니다)

+0

iis 서버 로그를 확인 했습니까? –

+0

네트워킹 문제가 있습니까? – bradbury9

+0

@AntonNorko suggeston을 주셔서 감사합니다. 텍스트 파일에 로그인 할 서버 코드를 추가했습니다. 서버 코드는 2 분 후에도 로그를 쓰고 있지만 클라이언트는 약 40 초 후에 응답을 얻지 못합니다. –

답변

0

문제가 해결되었습니다. 서버 스위치가 더 긴 요청을 닫도록 구성되었다는 것을 알았습니다. 나는 이제 서버의 내부 IP (다른 서버에서만 액세스 할 수 있음)를 사용했습니다.