cbr*_*awl 2 c# t-sql linq sql-server asp.net-core
我有一个每月运行一次的 T-SQL 存储过程,大约需要 48 小时才能完成。我单击客户端应用程序上的按钮来调用 C# .NET Core API 上的路由。然后 API 调用存储过程。我不希望它以任何形式或方式等待。我添加了一个Task.Run()
around 函数。
Task.Run(() => db.Database.ExecuteSqlCommand("dbo.storedProcedure"));
Run Code Online (Sandbox Code Playgroud)
这会根据需要立即成功地将响应返回给客户端,但是 API 仍在后台等待此过程。
有没有办法可以调用该过程并让API完全完成它?我只想启动它并让它纯粹在数据库上运行。对于这种情况,我不关心捕获错误或其他可能被视为良好实践的操作。
也许在 SQL 代理中创建一个执行存储过程的作业(没有关联的计划),然后从客户端应用程序启动该作业。可能需要不同的权限,但会使您的应用程序与程序的运行断开连接,这听起来像是您想要实现的目标。
归档时间: |
|
查看次数: |
1484 次 |
最近记录: |