• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Asp.Net(C#)自动执行计划任务的程序实例分析分享

asp 搞代码 4年前 (2022-01-03) 21次浏览 已收录 0个评论

这篇文章主要介绍了Asp.Net(C#)自动执行计划任务的程序实例分析,有需要的朋友可以参考一下

在业务复杂的应用程序中,有时候会要求一个或者多个任务在一定的时间或者一定的时间间隔内计划进行,比如定时备份或同步数据库,定时发送电子邮件等,我们称之为计划任务。实现计划任务的方法也有很多,可以采用SQLAgent执行存储过程来实现,也可以采用Windows任务调度程序来实现,也可以使用Windows服务来完成我们的计划任务,这些方法都是很好的解决方案。但是,对于Web应用程序来说,这些方法实现起来并不是很简单的,主机服务提供商或者不能直接提供这样的服务,或者需要你支付许多额外的费用。 本文就介绍一个直接在Web应用程序中使用的简单的方法,这个方法不需要任何额外的配置即可来源gaodaima#com搞(代@码网轻松实现。

由于ASP.NET站点是作为Web应用程序运行的,它并不受线程的限制,因此我们可以非常方便地在Application_Start和Application_End事件中建立和销毁一个计划任务。下面就简单介绍一下在Web站点实现计划任务的方法。我们的例子是定时往文件里添加信息,作为例子,这里把当前的时间定时地写入文件中。

一个计划任务的工作单元称之为一个任务(Job),下面的代码描述了对所有任务都可以被调度引擎计划执行的一个通用的接口,这里的每个任务实现了Execute方法,供调度引擎进行调用:

代码如下:
public interface ISchedulerJob
{
void Execute();
}

如前所述,我们的例子是实现往文件写如字符日期,下面就是实现这一任务的方法:

代码如下:
public class SampleJob : ISchedulerJob
{
public void Execute()
{
//文件保存的物理路径,CSTest为虚拟目录名称,F:\Inetpub\wwwroot\CSTest为物理路径
string p = @”F:\Inetpub\wwwroot\CSTest”;
//我们在虚拟目录的根目录下建立SchedulerJob文件夹,并设置权限为匿名可修改,
//SchedulerJob.txt就是我们所写的文件
string FILE_NAME = p+ “\\SchedulerJob\\SchedulerJob.txt”;
//取得当前服务器时间,并转换成字符串
string c = System.DateTime.Now.ToString(“yyyy-mm-dd hh:MM:ss”);
//标记是否是新建文件的标量
bool flag = false;
//如果文件不存在,就新建该文件
if (!File.Exists(FILE_NAME))
{
flag = true;
StreamWriter sr = File.CreateText(FILE_NAME);
sr.Close();
}
//向文件写入内容
StreamWriter x = new StreamWriter(FILE_NAME,true,System.Text.Encoding.Default);
if(flag) x.Write(“计划任务测试开始:”);
x.Write(“\r\n”+c);
x.Close();
}
}

接下来,我们建立一个配置对象,告诉调度引擎执行什么任务和执行的时间间隔。

代码如下:
public class SchedulerConfiguration
{
//时间间隔
private int sleepInterval;
//任务列表
private ArrayList jobs = new ArrayList();

public int SleepInterval { get { return sleepInterval; } }
public ArrayList Jobs { get { return jobs; } }

//调度配置类的构造函数
public SchedulerConfiguration(int newSleepInterval)
{
sleepInterval = newSleepInterval;
}
}

以上就是Asp.Net(C#)自动执行计划任务的程序实例分析分享的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Asp.Net(C#)自动执行计划任务的程序实例分析分享

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址