Tôi đã tìm kiếm nhưng tôi không tìm thấy bất kỳ câu trả lời cụ thể nào cho câu hỏi này. Làm thế nào tôi có thể nhận được giá trị trong máy chủ bao nhiêu thời gian còn lại, trước khi phiên hết hạn? Cài đặt phiên của tôi:Thời gian chờ của phiên .NET
// thời gian chờ ví dụ 10 phút.
<authentication mode="Forms"> <forms name=".ASPXAUTH_External" loginUrl="Authentication/Unauthorized.aspx" protection="All" timeout="10" path="/" slidingExpiration="true" defaultUrl="~/Pages/home.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
</authentication>
<sessionState mode="InProc" timeout="10">
</sessionState>
tôi nhận được giá trị ban đầu (nó sẽ nhận được 10 * 60 = 600 giây):
SessionStateSection sessionSection = (SessionStateSection)WebConfigurationManager.GetSection("system.web/sessionState");
countdown.Text = sessionSection.Timeout.TotalSeconds.ToString();
Nhưng khi thời gian phiên trái ít hơn một nửa và người sử dụng thực hiện một số hành động. Tôi nhận được giá trị ban đầu 600, nhưng nó không bằng nhau cho thời gian phiên trái, bởi vì "slidingExpiration" thêm thời gian (Tôi không biết bao nhiêu), nhưng không đặt lại phiên thời gian còn lại để bắt đầu 10 phút.
Làm cách nào để có thời gian phiên còn lại cho đến khi hết hạn?
Điều này. Không giải quyết vấn đề (trượt hết hạn, doen't thiết lập phiên hết hạn để bắt đầu điểm (10 phút.) Nó add's "một số thời gian".) ... Nhưng khi thời gian phiên còn lại ít hơn một nửa và người dùng làm một số hành động. Tôi nhận được giá trị 600 giây, nhưng nó không phải là bằng nhau cho thời gian phiên trái, bởi vì "slidingExpiration" thêm một thời gian (tôi không biết bao nhiêu), nhưng không reset phiên trái thời gian để bắt đầu 10 phút điểm. – Drasius