彻底解雇并忘记存储过程C#.NET Core

问题描述 投票:1回答:1

我有一个每月运行的T-SQL存储过程,大约需要48小时才能完成。我单击客户端应用程序上的一个按钮,在我的C#.NET Core API上调用路由。然后,API调用存储过程。我不希望它以任何形式或方式等待。我在函数周围添加了一个Task.Run()

Task.Run(() => db.Database.ExecuteSqlCommand("dbo.storedProcedure"));

这会根据需要立即成功地向客户端返回响应,但是,API仍在后台等待此过程。

有没有办法可以调用程序并让API完全完成?我只是想把它踢开,让它纯粹在数据库上运行。对于这种情况,我不关心捕捉错误或其他可能被视为良好做法的行为。

c# sql-server linq tsql asp.net-core
1个回答
4
投票

也许在SQL Agent(没有相关的计划)中创建一个执行存储过程的作业,然后从客户端应用程序启动作业。可能需要不同的权限,但会断开您的应用程序与程序的运行,这听起来像您想要实现的。

© www.soinside.com 2019 - 2024. All rights reserved.