我有一個處理程序,這樣,使用IRequiresSessionState:處理器與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分鐘後也會超時。
在處理程序中,我試過特別改變一個值是每個調用的會話,但是甚至不會延長超時。
有什麼建議嗎?