asp.net – 使用sql helper时出现超时问题(Microsoft.ApplicationBlocks.Data)

我在处理长SQL查询时遇到超时问题,对于长查询超时的数据集是:

static public DataSet Getxxxx(Guid xxxx)
{
    DataSet ds = sqlHelper.ExecuteDataset(ConnectionString,CommandType.StoredProcedure,"GetAllxx",new sqlParameter("@productxx",productxx));

    return ds;
}

我在哪里可以设置超时,我使用的是Microsoft应用程序块2.0版.

解决方法

数据访问应用程序块sqlHelper已经是 phased out in favour of ‘Database’,因此您需要显式创建DbCommand并将其传递给Database.ExecuteDataSet.然后,您可以设置 CommandTimeout property,以覆盖认值30秒.例如这会将超时设置为200秒:

using (DbCommand command = this.Database.GetStoredProcCommand("GetAllxx"))
{
    Database.AddInParameter(command,"@productxx",DbType.Int32,productxx);
    command.CommandTimeout = 200;
    return Database.ExecuteDataSet(command);
}

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....