猿问

SQL 超时比我设置的要长

我在 C# 中使用 SqlConnection,并打开与sqlconnection.Open()VM的连接,并在其上运行 MSSQL。如果凭据正确,则连接可用不到一秒钟。但是,如果例如数据库不可用,则会导致大约 45 秒的长时间超时。


这就是我添加到 Connection string 的原因Connection Timeout={Timeout},这被分配了,因为sqlConnection.ConnectionTimeout它等于我设置的超时。


我将超时设置为 5 秒并尝试连接到不存在的数据库。不幸的是,超时时间比我预期的要长。


20/06/2018 08:04:39:开放连接


20/06/2018 08:05:11:连接失败


我的目标是在大约之后断开连接。10 秒。


TL; 博士; 我可以影响超时吗?如果这是不可能的,为什么超时大约为 32 秒。即使我将超时设置为 5 秒。


编辑:


connectionstring = $@"Server={Ip};Database={DbName};User Id={Username};Password={Password};Connection Timeout={Timeout}";

using (SqlConnection sqlConnection = new SqlConnection(connectionString))

    try {

        Debug.WriteLine(DateTime.Now + "Open Connection");

        sqlConnection.Open();

    }

    catch

    {

        Debug.WriteLine(DateTime.Now + "Connection failed");

    }

}

编辑2:


我添加ConnectRetryCount=0;ConnectRetryInterval=1;到连接字符串,它没有做任何改变。


长风秋雁
浏览 161回答 1
1回答
随时随地看视频慕课网APP
我要回答