2

私は古典的なASPでWebアプリケーションを開発しています.すぐに私が抱えている問題はプログレスバーに関連しています. 重すぎるデータベースでいくつかの操作を行っているため、計算の各反復の途中で、進行状況を報告するフラッシュを実行しています。

このページは iframe によって呼び出され、コンテンツに応じて進行状況バーを更新しています。問題は、この iframe を削除した場合 (およびリクエストをキャンセルした場合)、コストのかかる操作が終了するまでサイトをナビゲートできないことです。

このような状況を考えると、2 つの質問があります。

  1. サーバー(aspページ)から、リクエストがいつキャンセルされたかをどのように検出できますか?
  2. マルチスレッド セッションを有効にするにはどうすればよいですか?
4

1 に答える 1

2
  1. Response.IsClientConnectedを使用して、ユーザーがまだ接続しているかどうかを検出できます。したがって、これを実行時間の長いコードに追加できます。たとえば、次のようになります。

    If Not Response.IsClientConnected Then
        'Stop processing
    End If
    
  2. これについてはわかりません。影響を受けるのは、要求を開始した 1 人のユーザーだけですか、それともすべてのユーザーを待たなければなりませんか? IIS に設定がある可能性があります (HTTP キープアライブを無効にすることもできますが、これは単なる推測です)。

于 2013-04-19T12:35:40.643 に答える