从ASP.NET页运行长时间运行的proc(不需要返回) [英] Run long-running sproc (that doesn't need to return) from ASP.NET page
本文介绍了从ASP.NET页运行长时间运行的proc(不需要返回)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道您将如何从页面运行存储过程,并且即使页面关闭也只能让它完成".不需要返回任何数据.
I would like to know how you would run a stored procedure from a page and just "let it finish" even if the page is closed. It doesn't need to return any data.
推荐答案
以数据库为中心的选项是:
A database-centric option would be:
- 创建一个表,其中将包含要执行的长时间运行的作业的列表(或队列).
- 让应用程序根据需要,何时以及按需要向队列添加一个条目.这就是全部.登录并输入后,无需维护任何Web会话或状态数据.
- 已将SQL Agent作业配置为每隔1、2、5,每分钟检查一次,以查看是否有任何要运行的作业.
- 如果还有尚未开始的项目,请将最新的项目标记为已开始,然后将其启动.
- 完成后,将其标记为已完成,或者将其删除
- 检查是否还有其他项目要运行.如果有,请重复;如果没有,请退出工作.
根据容量,您可以运行此作业的多个(不同名称)副本,并同时处理列表中的项目.
Depending on capacity, you could have several (differently named) copies of this job running, concurrently processing items from the list.
(我将这种方法用于运行时间很长的方法.这是一种管理型技巧,但它可能适合您的情况.)
(I've used this method for very long-running methods. It's more an admin-type trick, but it may be appropriate for your situation.)
这篇关于从ASP.NET页运行长时间运行的proc(不需要返回)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文