Мы обычно используем композицию на наших объектах SqlConnection, чтобы проверить это. Весь доступ к данным осуществляется с помощью внутренних классов, и мы указываем несколько серверов в файле web / app.config. (Простите за любые ошибки, я пишу это от руки)
Это будет выглядеть примерно так:
class MyComponent
{
private SqlConnection connection;
....
public void CheckServers()
{
// Cycle through servers in configuration files, finding one that is usable
// When one is found assign the connection string to the SqlConnection
// a simple but resource intensive way of checking for connectivity, is by attempting to run
// a small query and checking the return value
}
public void Open()
{
connection.Open();
}
public ConnectionState State
{
get {return connection.State;}
set {connection.State = value;}
}
// Use this method to return the selected connection string
public string SelectedConnectionString
{
get { return connection.ConnectionString; }
}
//and so on
}
Этот пример не включает проверку ошибок или регистрацию ошибок, убедитесь, что вы добавили это, чтобы объект мог опционально сообщать, какие соединения были неудачными и почему.