Ho una funzione che ottiene le statue dei miei database e le istanze di Redis per verificare che siano online:
internal static bool IsOnline(ConnectionLocator connectionLocator)
{
try
{
connectionLocator.SessionDatabase.Ping(StackExchange.Redis.CommandFlags.None);
using (var connect = connectionLocator.OpenSqlConnection())
{
var command = connect.CreateCommand();
command.CommandText = "select 1";
command.ExecuteScalar();
}
}
}
catch
{
return false;
}
return true;
}
Questo è usato per mostrare uno stato del sistema ai consumatori della mia applicazione.
Attualmente, l'ho nel controller MVC da cui viene chiamato, ma non penso che sia giusto.
Tuttavia, non sembra appropriato inserirlo in un repository; Sto chiedendo informazioni sull'accesso ai dati, NON cercando di astrarre i dettagli di accesso ai dati da un'entità.
Qualcuno è a conoscenza di schemi o best practice per questo tipo di codice di interrogazione di sistema?