SqlException需要太长时间才能出现

时间:2019-07-09 16:11:10

标签: c# sql-server

我正在测试一种方法来更改我的app.config文件的连接字符串,然后检查连接是否正确。

问题在于,当连接字符串无效或找不到服务器时,大约需要10秒钟才能引发异常。

这正常吗?

我的项目包含在Windows窗体应用程序中,用C#和SQL Server Express表示。该服务器位于我的本地网络内的本地计算机中。我在服务器计算机上尝试了相同的代码,并且延迟是相同的。

private void boton1_Click(object sender, EventArgs e)
    {
        using(SqlConnection con=new SqlConnection(connectionStringsSection.ConnectionStrings["Default"].ConnectionString))
        {
            con.Open();
        }
    }

1 个答案:

答案 0 :(得分:1)

SqlConnectionStringBuilder的C#文档中所述,连接超时是可以根据您的特定需求进行配置的。根据他们在本地计算机上的示例代码,它将显示默认超时为15秒,但是您可以根据需要进行设置。也许在您的用例中,超时为1秒就可以了,因为您知道连接是本地的,不需要更长的等待时间。但是,任何外部连接都应具有更大的超时窗口,以解决路由问题,服务器负载等问题。

SqlConnectionStringBuilder类具有许多可以在这方面有所帮助的属性,但是我在下面概述了特定于您的情况的那些属性:

var csb = new SqlConnectionStringBuilder
{
    ConnectionString = connectionStringsSection.ConnectionStrings["Default"].ConnectionString,
    ConnectRetryCount = 0,
    ConnectRetryInterval = 0,
    ConnectTimeout = 0
};