0

asp.net 1.1 で書かれたアプリを移行しています。1 ページで 5 分かかるプロセスがあり、SQL でデータを処理し、完了したらユーザーに通知します。

HTTP ページのタイムアウトを回避するために、プロセスは非同期で実行され、ページは 5 秒ごとに更新されて完了を確認します。とても簡単です。ここに問題があります。セッション変数をセマフォとして使用して、プロセスの完了を通知します。

非同期プロセスで設定されたセマフォを読み取ることができないため、これは現在機能していません。非同期プロセスは、呼び出しルーチンからセッションを読み取ることができますが、書き戻すことはできません。

まず、別のプロセスが読み取ることができるセッション変数に非同期プロセスを書き込む方法はありますか? これはおそらく現在の最良のアプローチではありませんが、アプリを機能させることが私の最優先事項です。

第二に、それを書き直す場合、どのアプローチを使用する必要がありますか? これは ASP Web アプリです。MVC ではありません。

4

1 に答える 1

0

コールバック技術を使用すると、クライアントからオペレーションサーバー側にクエリを実行し、サーバーからリターンを取得できるため、これ以上管理するセッションはありません:http: //msdn.microsoft.com/en-us/library/ms178210 (v=vs .80).aspx

于 2012-08-05T20:29:13.947 に答える