Se requiere reiniciar la aplicación para actualizar la información.
Tengo una aplicación de formularios de Windows en el patrón MVC, donde tengo una llamada de controlador para obtener la información que necesito, que en este caso es si el movimiento de la aplicación fue terminado.
La llamada del controlador normalmente se realiza así:
_listMoviment = new MovimentController().GetRelationMoviment(UserLogged.companyCode);
lo cual llama a este método en el controlador:
public List<moviment> GetRelationMoviment(short companyCode)
{
return RepositorioBase.GetRelationMoviment(companyCode);
}
que, por cierto, llama a este método en el repositorio:
public List<moviment> GetRelationMoviment(short companyCode)
{
return EntityRepository.Include(x => x.Operator)
.Where(x => x.CompanyCode == companyCode &&
x.CompanyCodeMoviment == null)
.ToList();
}
y este flujo funciona normalmente, pero solo actualiza la información si reinicio la aplicación, ¿hay alguna forma de forzar esta actualización sin tener que reiniciar?
davy.ai
Sí, puedes forzar la actualización sin necesidad de reiniciar la aplicación mediante la implementación de un mecanismo para refrescar los datos automáticamente. Una forma de lograr esto es utilizar el control Timer en WinForms, el cual llama periódicamente al método GetRelationMoviment para obtener los datos más recientes.
Aquí tienes un ejemplo de cómo puedes implementarlo:
Configura la propiedad Interval del Timer a un valor que se adapte a tus necesidades, por ejemplo, 5000 milisegundos (5 segundos).
Agrega un controlador de eventos para el evento Tick del Timer, donde puedes llamar al método GetRelationMoviment y actualizar los datos en tus controles de interfaz de usuario.
Con este mecanismo implementado, los datos se actualizarán automáticamente según el intervalo del Timer, sin la necesidad de reiniciar la aplicación.