メソッドを非同期モードで実行する必要があります。デリゲートを作成しようとしましたが、リクエストが完了するとセッションが破棄されます。この関数は、この後も実行を継続し、 を使用できるようにする必要がありますSystem.Web.HttpContext.Current.Session
。
非同期で実行されているメソッドが、リクエストの完了後に実行を継続できるようにする回避策はありますか?
ありがとう。
メソッドを非同期モードで実行する必要があります。デリゲートを作成しようとしましたが、リクエストが完了するとセッションが破棄されます。この関数は、この後も実行を継続し、 を使用できるようにする必要がありますSystem.Web.HttpContext.Current.Session
。
非同期で実行されているメソッドが、リクエストの完了後に実行を継続できるようにする回避策はありますか?
ありがとう。
デリゲートを使用できますが (たとえば、 )、デリゲートの外側ThreadPool.QueueUserWorkItem
への参照を取得する必要があります。HttpSessionStateBase
HttpSessionStateBase session = Session;
ThreadPool.QueueUserWorkItem(delegate
{
// You can access session variable here
...
});
参照を保持するまで、セッションは破棄されません。簡単なサンプルがここにあります: jQuery UI Progressbar を使用したサーバー側の操作の進行状況の報告。