运行存储过程异步

时间:2019-05-31 09:28:18

标签: asp.net sql-server task

我正在尝试异步调用存储过程,如下所示:

protected void btnRefresh_Click(object sender, EventArgs e)
{
    Task.Run(() => Trigger());
}

private void Trigger()
{
    var q = Db.Query("UPDATE RefreshConfig SET RefreshRequested = 1 WHERE RefreshRequested = 0 AND RefreshRunning = 0").ToList();
    var p = Db.Query("EXEC sp_ProceedPrices").ToList();
}

我不需要任何结果,只需要在后台运行,它需要2-3分钟。

我遇到此异常:

  

System.Data.SqlClient.SqlException:'执行超时已过期。
  在操作完成之前超时或服务器没有响应。

     

内部异常:Win32Exception:等待操作超时

我已将Connnection Timeout=0添加到我的连接字符串中

<add name="DB" 
     connectionString="Data Source=***;Initial Catalog=***DB;Integrated Security=False;User ID=***;Password=***;Connection Timeout=0"  
     providerName="System.Data.SqlClient"/>

任何帮助表示赞赏。

编辑:update语句运行正常,在EXEC上失败

0 个答案:

没有答案