Поставщики аутентификации, репозитория и кэширования в ServiceStack предоставляют простой способ добавления сеансов входа в веб-приложение с почти отсутствием дополнительного кода. Я обнаружил, что тайм-аут сеанса для поставщика проверки подлинности можно настроить, например:
new CredentialsAuthProvider { SessionExpiry = TimeSpan.FromMinutes(10) }
Это дает срок действия с момента входа в систему. Если мы разрабатываем защищенную систему, которая должна вывести пользователя из системы через короткое время, мы изменим это значение по умолчанию на две недели на что-то вроде приведенного выше примера. Но в этом проблема состоит в том, что 10 минут после входа в систему пользователя будут выведены из системы независимо от того, взаимодействуют ли они с приложением.
Есть ли простой способ сказать провайдеру сеанса продлить время истечения срока действия при вызове служб?
В идеале это позволит нам продлить сеанс для определенных сервисов/запросов (чтобы сеанс был расширен только тогда, когда пользователь активно взаимодействует с приложением, и поэтому опрошенные службы могут быть проигнорированы).
Обновление
Основываясь на ответе, данном mythz, теперь у нас есть простое решение, которое обеспечивает уровень контроля, который нам требуется расширение ResponseFilterAttribute.