设为首页 收藏本站
查看: 609|回复: 0

[经验分享] c#定时调用作业

[复制链接]

尚未签到

发表于 2017-7-2 19:49:07 | 显示全部楼层 |阅读模式
  1.在Global.asax文件中添加启动线程



  protected void Application_Start(object sender, EventArgs e)
{
Thread ThService = new Thread(new ThreadStart(Web.Common.ThConService_Control.Instance().Start));
ThService.Start();
}
  2.创建ThConService_Control.cs文件。



namespace Web.Common
{
public class ThConService_Control
{
#region Timer 计时器定义
/// <summary>
/// 时间间隔,10*(60秒)10分钟
/// </summary>
private static int Interval = 1 * 5 * 1000;//saitor
private long Times=0;
private Timer WebTimerObj = null;
/// <summary>
/// 是否正在执行中
/// </summary>
private int _IsRunning;
/// <summary>
/// 实例化一个对象
/// </summary>
private static readonly ThConService_Control _WebTimerTask = null;
/// <summary>
///
/// </summary>
static ThConService_Control()
{
_WebTimerTask = new ThConService_Control();
}
/// <summary>
/// 实例化
/// </summary>
/// <returns></returns>
public static ThConService_Control Instance()
{
return _WebTimerTask;
}
/// <summary>
/// 开始
/// </summary>
public void Start()
{
if (WebTimerObj == null)
{
WebTimerObj = new Timer(new TimerCallback(WebTimer_Callback), null, Interval, Interval);
}
}
/// <summary>
/// 停止
/// </summary>
public void Stop()
{
if (WebTimerObj != null)
{
WebTimerObj.Dispose();
WebTimerObj = null;
}
}
/// <summary>
/// WebTimer的主函数
/// </summary>
/// <param name="sender"></param>
private void WebTimer_Callback(object sender)
{
try
{
if (Interlocked.Exchange(ref _IsRunning, 1) == 0)
{
ExecuteMain();
Times++;
Times = (Times % 100000);
}
}
catch
{
}
finally
{
Interlocked.Exchange(ref _IsRunning, 0);
}
}
#endregion
#region 实际执行的方法
public List<LiEntity> Lst = new List<LiEntity>();
BL Bll = new BL();
BLLogs objManage_Log = new BLLogs();
public Object SyncObj = new Object();
/// <summary>
/// 实际执行的方法
/// </summary>
private void ExecuteMain()
{

if (Lst.Count > 0)
{
lock (SyncObj)
{
while (Lst.Count > 0)
{
              //对队列数据进行处理
}
}
}
}
#endregion     
    }
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-390551-1-1.html 上篇帖子: Get members for ‘Dynamic Distribution Group’ 下篇帖子: SQL Server数据库邮件发送异常案例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表