IRequiresSessionState を使用して、次のようなハンドラーがあります。
public class MyHandler : IHttpHandler, IRequiresSessionState
{
// code
}
コードでは、セッション値を読み取って設定できます。また、発信者がログインしていることも確認します。すべて正常に動作します。
Web サイトはフォーム認証を使用しているため、web.config には次のように記述されています。
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="10" slidingExpiration="true"></forms>
</authentication>
問題は、クライアントからサーバー コードへの AJAX 呼び出しがMyHandler
セッションの寿命を延ばさないことです!
そのため、ユーザーがサーバーとのデータの送受信で忙しくても、ページ全体が最後に読み込まれてから 10 分後にタイムアウトします。
ハンドラーでは、各呼び出しのセッションである値を具体的に変更しようとしましたが、それでさえタイムアウトを延長しませんでした。
助言がありますか?