0

5秒から10分かかるJavaScriptを介して静的Pageメソッドを呼び出しています。リクエストが完了するまで待機し続けるかどうかをユーザーが選択できるようにし、window.setTimeout() を使用して 30 秒ごとに確認できるようにしたいと考えています。

location.href = '/newpage.aspx' またはボタンのクリック ハンドラー (同様のリダイレクトを行う) を起動して、ページ メソッドが完了する前にユーザーをリダイレクトしようとしましたが、役に立ちませんでした。ユーザーを単純な html ページにすぐに送信できますが、サーバー側を含む aspx ページへのリダイレクトはブロックされているように見えます。ページ メソッドが最終的に完了すると、リダイレクトは成功します。

これは:

  • ブラウザの問題?最新のすべてのブラウザーがドメインごとに少なくとも 2 つの同時要求をサポートしている場合、これが機能しないのはなぜでしょうか?
  • フレームワークの制限?
  • 望ましい設計パターンか、それとも可能か? チェックしましたが、HTML ページにリダイレクトした後、元のリクエストの処理が続行されます (db の更新、問題ありません)。

「同時HTTPリクエスト」の観点から、ページメソッド呼び出しは単に非同期ではありませんか?

どんな洞察も大歓迎です!

4

1 に答える 1

0

InProcセッションでブロックしているようです。これは、一意のセッションごとに1つの同時リクエストに制限されています。ページメソッドでセッションにアクセスする必要がない場合は、WebMethod属性を変更してセッションを無効にできます。

[System.Web.Services.WebMethod(EnableSession=false)]
于 2011-01-22T06:36:13.500 に答える