Ich sehe nicht das Verhalten, das Sie angeben, zumindest wenn ich das Szenario mit einem SqlConnectionStringBuilder testen.
Die ConnectionTimeout Eigenschaft der Verbindung entspricht dem ConnectTimeout, der auf dem Builder festgelegt ist. Ich benutzte , und als Werte und alle wurden auf der Verbindung eingestellt.
mit System.Data.SqlClient;
var builder = new SqlConnectionStringBuilder();
builder.ApplicationName = "My Demo App";
builder.ConnectTimeout = 5;
builder.DataSource = "(local)";
builder.InitialCatalog = "My Database";
builder.IntegratedSecurity = true;
using(var connection = new SqlConnection(builder.ConnectionString))
{
Console.WriteLine("Connection Timeout: {0}", connection.ConnectionTimeout);
}
Wenn Sie nicht mit SQL zu tun haben, könnten Sie bei Verwendung DbConnectionStringBuilder oder einer ihrer Untertypen aussehen auch. Im Allgemeinen finde ich es am sichersten, die Verbindungszeichenfolge programmgesteuert mit einem der verfügbaren Builder zu erstellen, sodass Sie jede fehlerhafte Formatierung der Verbindungszeichenfolge vermeiden können, die Sie zum Erstellen von Verbindungen verwenden.
Versuchen Sie, X höher oder niedriger als 15 zu setzen? Haben Sie bestätigt, dass es sich tatsächlich um einen Timeout von 15 handelt, anstatt um X (z. B. ist der Wert, den Sie betrachten, ein Redhering). Außerdem wäre hier mehr Code und/oder Kontext hilfreicher (z. B. wenn Sie eine Verbindung zu einer Oracle-Datenbank usw. herstellen). –
Ich habe genau dieses Problem. Das Seltsame ist, dass ich die Protokollierung hinzugefügt habe, um die Verbindungszeichenfolge und die benötigte Zeit zu bestätigen, und ich bekomme nur 9 oder 10 Sekunden statt der 120, nach denen ich frage, oder die 15, die die Standardeinstellung ist. – JohnOpincar
Das gleiche hier. Zeitüberschreitung bei Verbindungsversuch = 5 und Verbindungstimeout = 5. Beide werden ignoriert und es dauert 15. Vielleicht 15 ist das Minimum ?? – AndyM