繁体   English   中英

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

[英]Completely fire and forget stored procedure C# .NET Core

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

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

这样可以成功按需立即将响应返回给客户端,但是,API仍在后台等待此过程。

有没有一种方法可以调用该过程并使API完全完成呢? 我只是想开始它,让它纯粹在数据库上运行。 对于这种情况,我不关心捕获错误或其他可能被视为良好实践的操作。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM