У меня есть веб-сервис WCF и приложение Silverlight, отображающее данные из этого сервиса. В моем сервисе я хотел бы реализовать автоматический выход пользователя из системы, если в течение определенного периода времени (например, 20 минут) не было вызвано ни одного сервисного метода.
Я думаю о чём-то таком:
Dictionary<User,TimeSpan> Inactivity
Когда вызывается сервисный метод, я сбрасываю интервал времени. Но что произойдет, если пройдет 20 минут, и я вызову метод Logout (который очищает все пользовательские кеши), и вдруг пользователь вернется с обеда)) и нажмет кнопку в своем приложении Silverlight? Очевидно, он получит ошибку. Есть ли способ избежать этого, или все мои концепции неверны? Может быть, есть лучший способ автоматического выхода из системы?