Algunos antecedentes: Escribo una aplicación con varios formularios, etc. Los usuarios tienen que iniciar sesión para poder usar la mayoría de las funciones, y esto funcionó bien hasta ahora. Sin embargo, ahora, el cliente ha solicitado que el usuario se desconecte después de una cierta cantidad de tiempo inactivo. El problema es que el usuario aún puede estar activo en la computadora, pero no en mi aplicación. Para que quede claro, tengo que desconectar al usuario cuando está inactivo en mi aplicación, incluso si todavía está interactuando con el escritorio.C# Durante cuánto tiempo estuvo inactivo el usuario
Primero pensé que esto sería bastante simple. Simplemente recuerde la hora de la última acción, compárela continuamente en un temporizador con la hora actual y cierre la sesión del usuario si el tiempo transcurrido es mayor que el tiempo permitido. Sin embargo, me he dado cuenta de que la búsqueda de la última vez que la acción no puede ser tan simple ...
Por supuesto que podría copiar y pegar algo así como
Program.LastActionTime = DateTime.Now;
en todos los AlCambiar, onclick, etc, evento ... Sin embargo, no solo eso sería una gran cantidad de trabajo debido al tamaño de la aplicación ... También sería una muy mala práctica y estoy seguro de que se olvidaría al menos una vez, haciendo que todo esto no sea confiable (y aparece roto, el error sería casi imposible de reproducir!)
Entonces, ¿hay una manera mejor?
¡Eso es exactamente lo que estaba buscando! –
Eso es la mitad pero ¿qué le dice que el programa ya no está inactivo? –