我有一个测试Windows主机(50 MB),它正在为我的ASP.NET Web应用程序提供服务,它工作得很好,但在升级到100 MB后,我在尝试远程连接SQL时遇到了频繁的SQL服务器超时错误从Visual Studio服务器(即在我的网站的本地开发中),我试图手动增加SQL命令超时,我认为它以某种方式解决了,但我认为我的行为不对,当然我的网站查看者在查看时没有问题页面,因为一切都适合最终用户,我只是在开发网站和通过VS2010访问我的远程数据库时遇到问题,我真的应该考虑增加超时吗?如何全局增加超时?我应该为每个SQL命令设置commandtimeout属性吗?是否可以在连接字符串中增加它?当然,因为我目前正在使用共享主机,所以无法更改SQL Server管理工作室设置
请指导我这个问题,因为我对超时属性没有好感! 感谢
答案 0 :(得分:7)
我认为没有任何简单的方法来全局设置 - 例如在连接字符串或其他东西。
您可以做什么(但这需要您的代码以这种方式工作)将命令超时置于配置中:
<configuration>
<appSettings>
<add name="CommandTimeout" value="120" />
</appSettings>
</configuration>
然后在您的代码中,从配置中读取该值并将其用于SqlCommand
类:
int commandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeout"]);
using(SqlCommand cmd = new SqlCommand(..(your SQL statement)..., connection))
{
cmd.CommandTimeout = commandTimeout;
}
有了这个,您至少可以调整超时而无需更改代码。