我已经开发了一个使用SQL数据库的Window Service目前在我的数据库中充满了Record所以查询执行需要很长时间,而默认命令超时是30S但是我想将它增加到120S一个选项是
com.CommandTimeout = 120;
但是我的应用程序中有很多方法,所以我想从APP.config文件中设置它以便它适用于应用程序级别,任何人都可以告诉我怎么能实现这个
由于
答案 0 :(得分:3)
实现此目的的最简单方法是在<appSettings>
中添加一个新条目:
<appSettings>
<add key="commandTimeout" value="3000" />
</appSettings>
然后,创建一个将填充值的CommandFactory
类
class CommandFactory
{
public static int CommandTimeout
{
get
{
int commandTimeout = 0;
var configValue = ConfigurationManager.AppSettings["commandTimeout"];
if(int.TryParse(configValue, out commandTimeout))
return commandTimeout;
return 120;
}
}
public static SqlCommand CreateCommand(SqlConnection connection)
{
var command = new SqlCommand()
{
Connection = connection,
CommandTimeout = CommandTimeout
};
return command;
}
}
现在,在您的代码中,不要只是实例化新的SqlCommand
,而只需调用CommandFactory
方法:
using(var command = CommandFactory.CreateCommand(yourConnection))
{
//
}
答案 1 :(得分:-1)
在app.config文件中使用它
<configuration>
<appSettings>
<add key="connectioStringName" value="Data Source=source;Initial Catalog=tableName;User Id=databaseName;Password=password;Connection Timeout=3000"/>
</appSettings>
</configuration>