我有一个处理程序,像这样,使用 IRequiresSessionState:
public class MyHandler : IHttpHandler, IRequiresSessionState
{
// code
}
在代码中,我能够读取和设置会话值。我还检查确保调用者已登录。一切正常。
该网站使用表单身份验证,因此在 web.config 中,我有这个:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="10" slidingExpiration="true"></forms>
</authentication>
问题是从客户端到服务器代码的 AJAX 调用MyHandler
不会延长会话的生命周期!
因此,即使用户正忙于从服务器发送和接收数据,他们也会在最后一次完整页面加载后 10 分钟超时。
在处理程序中,我尝试专门更改值是每次调用的会话,但即使这样也不会延长超时时间。
有什么建议么?