Wenn ich versuche, den folgenden Code zu tun, hängt das Programm auf unbestimmte Zeit. Ich weiß nicht warum und es scheint noch andere offene Fragen zu geben. Wenn die IP \ -Website jedoch nicht erreicht werden kann, funktioniert sie wie vorgesehen.Connection.open für Hänge unbegrenzt, keine Ausnahme wird geworfen
private void DoStuff()
{
string connectionString = "Data Source=www.google.com;Connection Timeout=5";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open(); //Hangs here indefinitely
Console.WriteLine("Test");
}
}
Zum Beispiel, wenn ich die Verbindungszeichenfolge
connectionString = "Data Source=www.nonexistentsite.com;Connection Timeout=5";
dann erhält es eine Ausnahme werfen. Wie bekomme ich eine Ausnahme für eine aktive Site? ... Auch google ist nur für Testzwecke, offensichtlich.
EDIT:
Wenn ich versuche, zu einem nicht erreichbaren Server-Namen oder die IP-Adresse verbinden ich WILL diese Ausnahme erhalten ...
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
UPDATE:
Nachdem das Programm eine ganze Weile laufen gelassen wurde, ist es normalerweise ou t endlich nach 3-5 Minuten und gibt mir den Fehler, den ich oben gepostet habe. Wie kann ich es schneller zum Timeout bringen?
Gibt es genaue Anmeldeinformationen? Normalerweise würden Sie in Ihrer Verbindungszeichenfolge einen Benutzernamen und ein Passwort eingeben, es sei denn, Sie sind absolut sicher, * dass die Datenbank anonyme Verbindungen akzeptiert. – qJake
Das Standard-Timeout beträgt 15 Sekunden. Es sollte also 15 Sekunden lang anhalten, nicht unbegrenzt. –
@SpikeX - Mein Problem im Moment ist, dass ich keine Ausnahmen bekomme, ich möchte jetzt einige, damit ich weiß, was zu tun ist. – TheKobra