微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐