【发布时间】:2019-10-01 16:15:06
【问题描述】:
我有一个经典的 ASP 网络应用程序,旨在 99% 的时间离线运行(在没有互联网服务的农村地区)。
当应用确实连接到互联网时,它会提醒用户,以便他/她/他们可以与网络应用的在线版本同步数据。
我有一个检测功能,在有网络服务的时候效果很好,立即检测到网络。
'CHECK FOR AN INTERNET CONNECTION
WITH CreateObject("MSXML2.XMLHTTP")
.Open "GET", "http://xxx.xxxx-xxxxx.org", FALSE
.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"
ON Error RESUME NEXT
.Send
IF .waitForReponse(2) THEN
IF .Status = 200 THEN
strOnline = "Y"
ELSE
strOnline = "N"
END IF
ELSE
strOnline = "N"
END IF
END WITH
END IF
问题是,当没有互联网服务时,脚本会在加载前使页面挂起大约 12 秒。
正如您在上面看到的,我尝试将检查包含在 .WaitForResponse() 中,但它似乎没有任何效果。
如果在前 1 或 2 秒内未找到互联网,我该怎么做才能取消连接检查?
【问题讨论】:
-
我已将“IF .WaitForResponse(2) THEN”更改为“IF ERR.NUMBER 0 THEN”,页面加载速度稍快(7 秒对 12 秒)。不过,这不是我正在寻找的解决方案。如果它在不到 2 秒内没有得到响应,我希望它只是超时。
标签: asp-classic timeout freeze connectivity internet-connection