如何解决C#运行SQL Server查询而不等待结果
我正在使用Serenity C#开发网站。
当我单击一个按钮时,它应该运行一个SQL命令,这将启动一个存储过程。
我的代码
public ListResponse<MyRow> RunSQL(IDbConnection connection,ListRequest request)
{
string sql = "EXEC SP_A @Username='" + Authorization.UserDefinition.Username + "'";
SqlHelper.ExecuteNonQuery(connection,sql);
return new MyRepository().List(connection,request);
}
此代码可以正常工作,但是由于我的网站需要等待查询完成,因此它使我的网站运行缓慢。
我想启动SQL命令,而不要等待结果。我可以为此使用任务并行库(TPL)吗?
解决方法
我可以使用TPL(任务并行库)吗?
不,您不能。您执行一个语句,我什至不知道您会想到一个项目的并行运算会做什么。如果该查询需要很长时间,则分析它是否有缺陷。如果它没有缺陷...
...将API更改为异步,然后返回返回令牌。它正在等待返回值,因为您认为API是同步的。如果您不能接受,则说明API出现设计错误,并且至少应更改此方法的设计。
async / await / paralellism中的任何内容都不会改变API设计,并且不会神奇地使请求更快地完成。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。