如何为确切的任务设置无限超时

How to set unlimited timeout just for exact tasks

我们有一个基于网络的 windows 软件,拥有成千上万的用户。对于某些操作,我们会向许多用户发送短信和通知。我不想在整个 IIS 设置上设置长时间超时。如何只为发送消息设置无限超时?

这是向成千上万的用户发送短信的功能:

for x=1 to 1000000
   call sendSMS(PhoneNumber(x),"test message")
next

function sendSMS(PhoneNumber,message)
    posturl="http://URL TO SMS SERVICE"
    posturl=posturl & "username=user"
    posturl=posturl & "&password=password"
    posturl=posturl & "&dstaddress=" & PhoneNumber
    posturl=posturl & "&message=" & server.Urlencode(message)

    set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
    xmlhttp.Open "POST",posturl,false
    xmlhttp.send
    myresult= xmlhttp.responseText
end function

我认为您正在寻找 Server.ScriptTimeout 属性。您可以将其设置为覆盖脚本可以 运行 仅针对该请求的最长时间。

Server.ScriptTimeout = 5000 ' or whatever

请注意,通常最好的做法是不要让连接真正为长时间的 运行ning 请求保持打开状态,而是将某种消息放入某种队列中并进行某种处理处理批处理的后端服务。但根据您的具体要求,这种方法可能就足够了。