我正在测试一种方法来更改我的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();
}
}
答案 0 :(得分:1)
如SqlConnectionStringBuilder的C#文档中所述,连接超时是可以根据您的特定需求进行配置的。根据他们在本地计算机上的示例代码,它将显示默认超时为15秒,但是您可以根据需要进行设置。也许在您的用例中,超时为1秒就可以了,因为您知道连接是本地的,不需要更长的等待时间。但是,任何外部连接都应具有更大的超时窗口,以解决路由问题,服务器负载等问题。
SqlConnectionStringBuilder类具有许多可以在这方面有所帮助的属性,但是我在下面概述了特定于您的情况的那些属性:
var csb = new SqlConnectionStringBuilder
{
ConnectionString = connectionStringsSection.ConnectionStrings["Default"].ConnectionString,
ConnectRetryCount = 0,
ConnectRetryInterval = 0,
ConnectTimeout = 0
};