티스토리 뷰
SendXMLHttp 사용과 Timeout
아래와 같은 소스가 있다고 가정하자.
... sthg source ..
On Error Resume Next
Dim oXMLHttp : Set oXMLHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
oXMLHttp.Open "GET", "http://localhost/api/test", False
oXMLHttp.SetTimeouts 7000, 7000, 7000, 7000
oXMLHttp.Send()
If oXMLHttp.status = 200 Then
Response.write oXMLHttp.ResponseText
Else
Response.write "Nothing"
End If
Set oXMLHttp = Nothing
If Err Then
Response.write Err.Description
End If
위와 같이 통신에 관한 모든 타임 아웃시간은 7 초로 통일하였다.
타임아웃 항목에 대해 작성해 보자면, 먼저 순서는 아래와 같다.
oXMLHttp.SetTimeouts {ResolveTimeout}, {ConnectTimeout}, {SendTimeout}, {ReceiveTimeout}
그리고 위 순서에 대한 상세 내용은 아래와 같으며, 아래 내용은 검색에 대한 내용을 번역하여 작성한 것임을 참고해 주길..
ResolveTimeout
This value is for the return of a DNS resolution (mapping the domain name to its representative IP address). The default value is infinite.
-> 도메인 확인 시간, default 무한대
ConnectTimeout
This value is for establishing a connection with the server, and the default value is 60 seconds.
-> 서버와의 연결 시간, default 60 초
SendTimeout
This value is the time allowed for sending an individual packet of data to the server. The default value is 30 seconds.
-> 데이터 전송 시간, default 30 초
ReceiveTimeout
This value is the time allowed for receiving an individual packet of data from the server. The default value is 30 seconds.
-> 데이터 수신 시간, default 30 초
자, 이제 위와 같을 때, ReceiveTimeout 이 7초를 넘을 시에는
Response.write Err.Description
처럼 오류를 노출하도록 되어있다.
하지만 ... 저 ReceiveTimeout 을 아래와 같이 120 초로 바꾸어보면...
oXMLHttp.SetTimeouts 7000, 7000, 7000, 120000
다른 오류 화면을 보게 된다.
아래와 같은 화면을 말이다.
위와 같은 이유가 발생하는 것은, 통신에 대한 TimeOut 시간은 120 초로 설정을 해두었지만
서버에서 처리하는 스크립트의 처리에 대한 타임아웃은 120 초 보다 짧기 때문이다.
그렇기 때문에 SendXMLHttp 사용 시 RecieveTimeout 을 설정할 경우에는 서버의 스크립트 타임아웃 처리 시간도 참고하여 설정해야 하며,
방법은 아래와 같다.
* 소스에서 직접 변경 시
Server.ScriptTimeout=120 (초 단위이다. 밀리세컨드 단위가 아니다)
* IIS 셋팅에서 변경 시 (IIS 10 기준)
IIS > 사이트 > 해당 사이트 > ASP > 제한 속성 > 스크립트 시간 제한값 변경
'프로그래밍' 카테고리의 다른 글
[ORACLE] n개 ROW 데이터들을 각각의 컬럼으로 합치려는 경우.. (0) | 2019.08.08 |
---|---|
Spring MVC + Swagger2 (7) | 2019.06.23 |
[MySQL] explicit_defaults_for_timestamp (root 비밀번호 찾기 시) (0) | 2018.10.16 |
Jquery Ajax Options (0) | 2018.02.10 |
jQuery Mobile (0) | 2017.09.19 |
- Total
- Today
- Yesterday
- 나미비아
- 캄보디아
- 칼라마
- 우유니
- calama
- 족발
- 칠레
- 애드센스
- 토레스 델 파이네
- Cusco
- Oracle
- 성계 투어
- 남미 저가항공
- 햄버거
- 빈트후크
- 볼리비아
- jQuery
- 마추피추
- 후마리
- Cambodia
- 성스러운 계곡
- 쿠스코
- 킹덤 호텔
- 빅토리아폴스
- aguas calientes
- 아구아스 칼리엔테스
- 남미
- 푸에르토 나탈레스
- Uyuni
- Namibia
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |