亚音速命令超时

时间:2010-06-23 20:13:59

标签: asp.net sql subsonic

有没有办法为亚音速生成的所有内容设置命令超时?

-Edward

1 个答案:

答案 0 :(得分:1)

对于MySql,您可以在connectionstring中指定CommandTimeout:

<connectionStrings>
    <add name="Local" connectionString="Server=localhost;
       Database=db;uid=admin;Password=pass;default command timeout=60" />
</connectionStrings>

但对于SqlServer,你无法做到这一点。对于SubSonic 2来说,没有简单的方法来实现这一目标。 源中有多个硬编码的命令超时(查看文件SqlDataProvider.cs)

Query.cs

private int commandTimeout = 60;

QueryCommand.cs

/// <summary>
/// Summary for the QueryCommand class
/// </summary>
public class QueryCommand
{
    private string _providerName = String.Empty;
    private int commandTimeout = 60;  // change to whatever you like and recompile

StoredProedure.cs:

private int commandTimeout = 60;

我不知道我是否错过了某些部分,但是如果你改变这些值并重新编译SubSonic你应该没问题。

如果您不想这样做并使用查询工具,可以使用

在运行时设置超时
cmd.CommandTimeout = 600;