我已经使用数据库中的SQL数据库开发了一个窗口服务,该数据库中的记录已满,因此查询执行需要很多时间,而默认命令超时是30S,但我想将其增加到120S。
com.CommandTimeout = 120;
但是我的应用程序中有很多方法,因此我想从APP.config文件中进行设置,这样它将适用于应用程序级别,任何人都可以告诉我如何实现此目标
谢谢
实现此目的的最简单方法是在<appSettings>类似以下内容的地方添加新条目:
<appSettings>
<appSettings> <add key="commandTimeout" value="3000" /> </appSettings>
然后,创建一个CommandFactory将填充值的类
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方法:
SqlCommand
using(var command = CommandFactory.CreateCommand(yourConnection)) { // }