gpt4 book ai didi

c# - 终止长时间运行的 SQL 命令

转载 作者:行者123 更新时间:2023-11-30 18:21:18 26 4
gpt4 key购买 nike

假设我们的前端应用程序 (C#) 与 SQL Server 建立一系列连接并执行一系列可能需要几个小时才能完成的存储过程。我需要有一个工具来“取消”正在运行的存储过程。我知道这可以通过Sqlcommand.Cancel()来实现,但这似乎并不是一直有效。有没有更好的方法来实现这一点?

最佳答案

如果取消不起作用,杀戮可能也不起作用。他们必须使用相同的机制。在内部为它们设置不同的机制毫无意义。

I need this to be done from the front end, Ideally users will cancel their own long running SQL command

尽管操作仍在后台完成,但向用户模拟操作已取消是一种常用技术。在 .NET 中有多种操作不能立即取消。在这种情况下,最好的选择是隔离该操作并让它在后台完成。

TPL 使这变得相当容易。您可以搜索“.net cancel task”或“.net cancel uncancellable task”以获得一些指示。同样,我们的想法是继续执行并且只请求取消,而不是等待它。

您不需要使用 async/await 或异步 SqlCommand 方法来完成这项工作,但您可以。之所以提及这一点,是因为这是一种常见的误解。

关于c# - 终止长时间运行的 SQL 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35709969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com