书上说:IsClientConnected 属性指示出客户机是否已与服务器断开连接。
给出的例子是:
<%
If response.IsClientConnected=true then
response.write("The user is still connected!")
else
response.write("The user is not connected!")
end if
%>
我想知道如何操作能让这个程序输出The user is not connected!
有没有更好的例子能说明一下response.IsClientConnected的用法(特别是怎样操作是它为false)
------解决方案--------------------
断开连接就不往客户端发送内容了。你看不到等于false的情况。
这种判断适用于运行时间比较长的代码,浏览器突然点击了 停止 就会导致IsClientConnected=false
------解决方案--------------------
比如传递大文件的时候, 客户端断了就不要传了
- VBScript code
Function TransferFile(ByRef oStream, sMimeType, sFilename) Dim iChar, iSent, iSize Dim c Const FILE_TRANSFER_SIZE = 32768 '32k iSent = 0 TransferFile = True iSize = oStream.Size With Response .Charset = "GB2312" .ContentType= sMimeType .AddHeader "Accept-Ranges", "bytes" .AddHeader "Content-Length", iSize .AddHeader "Content-Type", sMimeType .AddHeader "DownloadOptions", "noopen" .AddHeader "Content-Disposition","attachment; filename=" & sFilename End With c = 0 Do While c <= iSize iChar = oStream.ReadBin(FILE_TRANSFER_SIZE) c = c + FILE_TRANSFER_SIZE With Response .BinaryWrite(iChar) iSent = iSent + FILE_TRANSFER_SIZE If (iSent MOD FILE_TRANSFER_SIZE) = 0 Then .Flush If Not .IsClientConnected Then TransferFile = False Exit Do End If End If End With Loop Response.Flush If Not Response.IsClientConnected Then TransferFile = False Set oStream = Nothing End Function