Как получить оставшееся время срока действия сеанса ASP.NET, чтобы вернуть его клиенту?C#

Место общения программистов C#
Ответить
Anonymous
 Как получить оставшееся время срока действия сеанса ASP.NET, чтобы вернуть его клиенту?

Сообщение Anonymous »

Я работаю над ASP.net Core Web API, где я использую промежуточное программное обеспечение сеанса с настроенным тайм -аутом, например,:

Код: Выделить всё

services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(20);
});
Я хочу вернуть оставшееся время сеанса (в секундах) обратно к клиенту в заголовках ответов, поэтому фронт может отображать обратный отсчет сеанса или предупредить пользователя. /> Как я могу получить доступ или рассчитать оставшееся время истечения сеанса внутри контроллера или промежуточного программного обеспечения? Хранить?

Код: Выделить всё

var sessionTimeout = ???; // How to get this dynamically?

var lastActivity = session.GetString("LastActivityTime") ?? DateTime.UtcNow.ToString();
var timeElapsed = DateTime.UtcNow - DateTime.Parse(lastActivity);
var timeLeft = sessionTimeout - timeElapsed;

Response.Headers["X-Session-TimeLeft"] = timeLeft.TotalSeconds.ToString();
Но я не уверен, как получить SessionTimeout динамически или есть лучший подход.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... the-client
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»