티스토리 뷰

프로그래밍

[ASP] SendXMLHttp 사용과 Timeout

ReturnToHome 2018. 12. 24. 17:22



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 > 제한 속성 > 스크립트 시간 제한값 변경




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함