Trong web.config, tôi đặt thời gian chờ trong sessionState thành 20 phút. Theo MSDN, thời gian chờ này chỉ định số phút mà một phiên có thể không hoạt động trước khi nó bị hủy bỏ. Trong IIS 7, DefaultWebSite-> Session State-> Cookie Settings-> Time Out tự động được điền với giá trị timeout được đặt trong web.config, trong trường hợp của tôi là 20 phút. Ngoài ra, Application Pools-> DefaultAppPool-> Advanced Settings-> idleTimeout, tôi đặt nó là 10 phút.Thời gian chờ của phiên làm việc như thế nào trong IIS 7?
Sau đó, tôi đã thực hiện hai thử nghiệm: Thử nghiệm đầu tiên: Tôi đã đăng nhập vào ứng dụng web của mình lúc 3:45 tối, không hoạt động trong 10 phút. Vào lúc 3:55 chiều, tôi đã cố gắng sử dụng ứng dụng của mình, tôi bị đuổi ra ngoài. Tôi nghĩ rằng idleTimeout xuất hiện.
Kiểm tra thứ hai: Tôi đã đăng nhập vào ứng dụng web của mình lúc 4:00 chiều, chơi với ứng dụng lúc 4:05 chiều, 4:10 chiều, 4:15 chiều và 4:20 chiều. Tôi dự kiến sẽ bị đuổi vào lúc 4:20 chiều. Nhưng tôi thì không. Tôi nghĩ thời gian chờ trạng thái phiên (20 phút) trong IIS 7 là khoảng thời gian tối đa mà phiên người dùng có thể hoạt động trước khi Web Agent thách thức người dùng xác thực lại. Rõ ràng từ thử nghiệm này, nó không phải là. Bất cứ ai có thể giải thích điều đó cho tôi? Ngoài ra, làm thế nào tôi có thể thiết lập thời gian chờ cho trường hợp trên?
nhưng tại sao tôi không cần phải đăng nhập lại trong lần kiểm tra thứ hai? – GLP
Bởi vì mỗi lần bạn truy cập vào máy chủ, bộ hẹn giờ được đặt lại - theo bảng của tôi. –
Cảm ơn Zhaph, tôi vẫn có hai câu hỏi, (1) 20 phút sẽ ảnh hưởng đến điều gì? (2) B có phải relogin sau khi ứng dụng tắt không? – GLP