2010-06-23 154 views

回答

1

对于MySQL,你可以在ConnectionString sepecify将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;