Wie bekomme ich die verbleibende Ablaufzeit von ASP.NET Core Session, um es an den Client zurückzugeben?
Posted: 11 Jul 2025, 13:28
Ich arbeite an einer ASP.NET -Kern -Web -API, in der ich Session Middleware mit einem konfigurierten Leerlauf -Timeout verwende, z. B.:
Ich möchte die verbleibende Sitzungszeit (in Sekunden) in den Antwort -Headern wieder an den Client zurückgeben, sodass der Frontend einen Sitzungs -Countdown anzeigen kann oder den Benutzer warnen kann. /> Wie kann ich auf die verbleibende Sitzungszeit in einem Controller oder Middleware zugreifen? Speichern?
Ich bin mir jedoch nicht sicher, wie ich Sessiontimeout dynamisch oder wenn es einen besseren Ansatz gibt.>
Code: Select all
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(20);
});
Code: Select all
var sessionTimeout = ???; // How to get this dynamically from HttpContext.Session?
Response.Headers["X-Session-TimeLeft"] = sessionTimeout.ToString();