小编svh*_*svh的帖子

Linq - 中断存储过程的执行

我正在研究一个从SQL服务器调用存储过程的C#应用​​程序.根据用户输入的搜索参数,存储过程可能需要一段时间并返回许多记录.

我想实现一个取消按钮,以便用户可以在需要很长时间时取消存储过程的执行.我在新线程中运行对存储过程的调用,因此当存储过程需要一段时间时,GUI不会受到影响.我读过关于中止一个帖子但发现许多关于使用中止的拒绝意见.

我想到的可能解决方案:

  • 是否有一种常见的方式来停止执行存储过程(这是c#代码中的方法)
  • 有没有更好的方法来阻止线程?(我发现了Thread.Interrupt()但这只适用于被阻塞的线程,而不是运行代码)
  • 我可以放弃线程并启动一个新线程,但之后会使用不必要的数据库和网络资源
  • 有没有办法从服务器端停止存储过程?

c# linq sql-server multithreading stored-procedures

7
推荐指数
1
解决办法
1969
查看次数

标签 统计

c# ×1

linq ×1

multithreading ×1

sql-server ×1

stored-procedures ×1