Ich arbeite an einer ASP.NET -Kern -Web -API, in der ich Session Middleware mit einem konfigurierten Leerlauf -Timeout verwende, z. B.:
Code: Select all
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(20);
});
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?
Code: Select all
var sessionTimeout = ???; // How to get this dynamically from HttpContext.Session?
Response.Headers["X-Session-TimeLeft"] = sessionTimeout.ToString();
Ich bin mir jedoch nicht sicher, wie ich Sessiontimeout dynamisch oder wenn es einen besseren Ansatz gibt.>