asp.net 间隔一段时间执行某方法

设想网站后台每秒自动更新一下Cache["test"]中的值,通过这个实现就可以完成一些在间隔多少时间更新一下数据库的操作。

1、定义一个事件类BMAEvent,在Processor方法中添加间隔1秒更新一次Cache:

 public class BMAEvent
    {
        private static Timer _timer;//定时器

        static BMAEvent()
        {
                _timer = new Timer(new TimerCallback(Processor), null, 1000, 1000);
        }

        /// <summary>
        /// 此方法为空,只是起到激活BrnMall事件处理机制的作用
        /// </summary>
        public static void Start() { }

        /// <summary>
        /// 事件处理程序
        /// </summary>
        /// <param name="state">参数对象</param>
        public static void Processor(object state)
        {
            HttpRuntime.Cache.Insert("test", DateTime.Now.ToString());
        }
    }

2、在Global.asax下Application_Start()中启动事件

BMAEvent.Start();

3、显示部分,在控制器中添加

 public ActionResult BtnClick()
        {
            string str = "初始化...";
            if (HttpRuntime.Cache["test"] != null)
               str= HttpRuntime.Cache["test"].ToString();
            return Content(str);
        }

4、在页面中添加显示代码,使用了ajax

<div id="result"></div>

@Ajax.ActionLink("获取值", "BtnClick", new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "result" })
时间: 2024-10-10 09:18:49

asp.net 间隔一段时间执行某方法的相关文章

PHP间隔一段时间执行

for ($i=0; $i < 20; $i++) { $m=M('vote'); $rs=$m->order('id')->select(); $randnum=array(0,1); foreach ($rs as $k => $v) { $num=$v['vote']+$randnum[array_rand($randnum)]; $m->where(array('id'=>$v['id']))->save(array('vote'=>$num));

c#实现每隔一段时间执行代码(多线程)

总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用System.Threading.Timer: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

delphi中我用定时器每隔一段时间执行操作

delphi中,我用定时器每隔一段时间执行数据库插入及更新工作!adoquery.close;adoquery.sql.cleare;adoquery.connection:=con1;adoquery.sql.add('exec addery');execsql;上面的基本语句!我的问题是:定时器执行时,在软件界面就会很卡,无法操作!请问是不是需要创建一个线程才能处理卡的问题呢?请大神们帮帮忙!非常感谢!如果是需要写线程,更希望能把线程也写出来!非常感谢! unit Unit1; interf

每隔一段时间执行命令bat脚本

@echo start :start adb shell dumpsys meminfo com.xxx.gallery ping 127.1 -n 2 >null goto start ping命令-n表示间隔时间,秒为单位,-w表示执行次数

IOS在后台每隔一段时间执行一下

步骤: 1.在info.plist里加入UIBackgroundModes键,其值为数组,数组之一为voip字符串: <key>UIBackgroundModes</key><array><string>voip</string></array> 2.在程序启动的时候调用- (void)setupBackgroundHandler函数,函数体如下: #pragma mark - VoIP - (void)setupBackground

js每隔一段时间执行函数

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body> <script type="application/javascript"> setInterval(function(){ console.log(new Date

iOS开发延迟执行一个方法的方法

在实际的开发中,有时候需要延迟一段时间执行某个方法或者某段代码,总结两种延迟执行某段代码的方式: 1. [self performSelector: withObject: afterDelay:]; 延迟执行(SEL)里面的方法,是oc中的一个方法.第一个参数是要执行的方法,第二个参数是执行的方法的参数,可以有一个参数也可以为nil.第三个参数是多长时间后执行该方法,该方法是单线程的. 2. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (in

关于ScheduledExecutorService执行一段时间之后就不执行的问题

问题背景 最近写了个程序,程序中使用到了ScheduledExecutorService的scheduleAtFixedRate方法,用于定时执行任务,但是发现程序运行一段时间之后定时任务不执行了,查看日志和perfcounter都没有看到任何异常,比较郁闷.最后看了一下JDK的源码,在源码的Java doc中的发现了如下一句话: If any execution of the task encounters an exception, subsequent executions are sup

setTimeout() 实现程序每隔一段时间自动执行

定义和用法 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法 setTimeout(code,millisec) 参数 描述 code 必需.要调用的函数后要执行的 JavaScript 代码串. millisec 必需.在执行代码前需等待的毫秒数. 提示和注释 提示:setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). [示例] //每5秒使用Ajax取一次