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

时间:2018-02-08 07:57:39

标签: vbscript asp-classic iis-7 timeout

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

这是向数千名用户发送短信的功能:

public int updateTimeTable(Map<String, Object> map) {
    if (map.isEmpty() && !map.containsKey("id"))
        return 0;
        String hql = "update TimeTable set ";
        int count = 0;
        String status = null;
        if (map.containsKey("status") && map.get("status") != null) {
            hql += "status = :status";
            status = map.get("status").toString();
            count++;
        }

        if (count == 0) {
            return 0;
        }

        hql += " where id = " + map.get("id");
        Query query = update(hql);
        if (status != null) {
            query.setString("status", status);
        }

        return query.executeUpdate();
}

1 个答案:

答案 0 :(得分:0)

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

Server.ScriptTimeout = 5000 ' or whatever

请注意,对于长时间运行的请求实际上并不保持连接保持打开状态通常是最佳做法,但是在某种队列中放置某种消息并具有某种后端服务,处理批处理。但根据您的具体要求,这种方法可能就足够了。