2

我正在用经典的 asp 开发一个 web 应用程序,我遇到的问题与进度条有关。我正在对数据库进行一些过于繁重的操作,因此在计算的每次迭代中间,我正在刷新报告进度。

此页面由 iframe 调用,并根据我们正在更新进度条的内容。问题是,如果我删除了这个 iframe(并且取消了请求),在昂贵的操作结束之前,我无法浏览该站点。

鉴于这种情况,我有两个问题:

  1. 从服务器(asp页面)如何检测请求何时被取消?
  2. 我可以做些什么来启用多线程会话?
4

1 回答 1

2
  1. 您可以检测用户是否仍与Response.IsClientConnected连接。因此,您可以将其添加到您长时间运行的代码中,例如:

    If Not Response.IsClientConnected Then
        'Stop processing
    End If
    
  2. 不确定这一点。是只有一个用户启动了请求,还是所有用户都必须等待?IIS 中可能有一个设置(您可以尝试禁用 HTTP 保持活动,但这只是一个猜测)。

于 2013-04-19T12:35:40.643 回答