1

再会,

我正在使用 SQLDataSource 和动态查询生成的 c#,基于许多字段中的用户选择。但是,由于我们的表非常大,有时我会收到命令超时异常。

我试图在 SqlDataSource 的“选择”中设置属性,如下所示:

protected void SqlDataSource_PSearch_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
    e.Command.CommandTimeout = 900;            
}

但没有运气,就像这个属性被忽略一样。

.NET 2.0, Sql server 2005.

任何想法?

4

1 回答 1

0

我对 SqlDataSource 不是很熟悉,但是 CommandTimeout 的文档提到了两种可能性:

  • 在异步方法调用(例如 BeginExecuteReader)期间,CommandTimeout 属性将被忽略。

  • 当针对上下文连接执行命令时,CommandTimeout 无效(在连接字符串中使用“context connection=true”打开的 SqlConnection)。

你在使用 AJAX 吗?这可能会导致异步方法调用。

于 2009-03-17T15:24:17.673 回答