Implementando logout automático no Silverlight e WCF devido à inatividade do usuário
-
24-09-2019 - |
Pergunta
Eu tenho um serviço WCF Web e um aplicativo Silverlight exibindo dados desse serviço. No meu serviço, gostaria de implementar o logout automático do usuário, se nenhum método de serviço foi chamado durante um período de tempo (por exemplo, 20 minutos).
Estou pensando em smth assim:
Dictionary<User,TimeSpan> Inactivity
Quando um método de serviço é invocado, redefini o timepan. Mas o que acontecerá, se passarem 20 minutos, e eu chamo o método de logout (que limpa todos os caches do usuário) e, de repente, o usuário retorna do almoço)) e pressiona um botão em seu aplicativo Silverlight? Obviamente, ele receberá um erro. Existe alguma maneira de evitar isso, ou todo o meu conceito está errado? Talvez exista uma maneira melhor de fazer logout o usuário automaticamente?
Solução
20 minutos passes, o método de logout executa, o usuário é redirecionado para uma página de login, o usuário vem do almoço, vê uma página de login com uma mensagem de que sua sessão expirou, insere nome de usuário/senha, login.