Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 计划任务建议。Net,SQL作业?_Sql Server_.net 3.5_Scheduled Tasks - Fatal编程技术网

Sql server 计划任务建议。Net,SQL作业?

Sql server 计划任务建议。Net,SQL作业?,sql-server,.net-3.5,scheduled-tasks,Sql Server,.net 3.5,Scheduled Tasks,我正在创建一个系统,用户可以设置邮件在特定时间发出。在我出生之前,我想得到一些建议。首先,是否已经有一个.Net组件来处理调度作业(运行另一个应用程序或调用URL),它将按照我的建议执行(开源会很酷)?如果没有,那么使用SQL计划作业并运行某种脚本、创建一个.Net服务以查看xml文件或数据库中的计划,还是让应用程序创建计划任务更好?可能有很多任务,所以我认为创建计划任务或SQL作业可能不是一个好主意。 这里可能是一个典型的场景;用户希望向其客户发送新闻稿。用户在周六创建时事通讯,但不希望它在周

我正在创建一个系统,用户可以设置邮件在特定时间发出。在我出生之前,我想得到一些建议。首先,是否已经有一个.Net组件来处理调度作业(运行另一个应用程序或调用URL),它将按照我的建议执行(开源会很酷)?如果没有,那么使用SQL计划作业并运行某种脚本、创建一个.Net服务以查看xml文件或数据库中的计划,还是让应用程序创建计划任务更好?可能有很多任务,所以我认为创建计划任务或SQL作业可能不是一个好主意。 这里可能是一个典型的场景;用户希望向其客户发送新闻稿。用户在周六创建时事通讯,但不希望它在周一之前发布。用户希望在一个月内每周一发送相同的电子邮件。 谢谢你的关注

退房

Quartz.NET是一个功能齐全的,开放 source可以 从最小的应用程序到大型应用程序都可以使用 扩展企业系统


如果您想在Windows中使用现成的服务,请参阅这篇关于CodeProject的文章,了解如何从C#应用程序在Windows中创建计划任务


如果您在Windows中使用C#和计划任务,而不是将自己局限于SQL Server中可以完成的任务,那么您可能会拥有更大的灵活性和能力。SQL Server代理工作非常好—对于特定于数据库的工作,主要是维护计划等

您可以构建自己的windows服务来调度和执行作业。一定要做好抽象。在一个类似的项目中,我使用了一个抽象,其中调度项被抽象为由任务组成的作业。例如,发送时事通讯可能是一项工作,而向每个订户发送时事通讯可能被视为一项任务。然后,您需要在定义的线程模型中运行作业和任务,最好使用线程池线程或任务并行库。确保尽可能对IO使用异步API。还要将调度逻辑与抽象分开。因此,调度逻辑可以执行任意类型的作业及其包含的任务