.each:

C#6.0: 

运行WEB站点,查看日志如下:

2、装箱拆箱

字符串: C#中$的用法: 是为了替代string.format();

澳门微尼斯人手机版,可以看到一秒钟执行一次
,因为我们在GlobalConfig.TestMonitorInterval设置的就是一秒钟。

 

语法糖:

此节中我们简单做了一个定时任务,下章我们将进行Quartz.net任务框架的介绍。(源代码会跟随后面的例子一并上传),请继续关注以后章节。

1、值类型与引用类型区别

在我们平时项目中经常会遇到定时任务,比如定时同步数据,定时备份数据,定时统计数据等,定时任务我们都知道使用Quartz.net,此系列写的也是Quartz,但是在此之前,我们先用其他方式做个简单的定时任务进行入门。

装箱:值类型转换成引用类型。将值类型从栈上拷贝到堆上,将地址返回;

定时任务的基础类库已经创建完毕,下面我们来看怎么使用它。

 

第二部:添加一个抽象基础类BaseMonitor:

for (var i=0;i<cars.length;i++)
{
document.write(cars[i] + "<br>");
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TaskBase
{
   public class TestMontior:BaseMonitor
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="name">检测器名称</param>
        public TestMontior(string name) : base(name)
        {
        }
        /// <summary>
        /// 监控时间间隔(毫秒)
        /// </summary>
        public override int Interval
        {
            get
            {
              return  GlobalConfig.TestMonitorInterval;
            }          
        }
        public override string Name
        {
            get
            {
                return base.Name;
            }

            set
            {
                base.Name = value;
            }
        }

        public override TaskState State
        {
            get
            {
                return base.State;
            }

            set
            {
                base.State = value;
            }
        }
        protected override void Run()
        {          
            PCore.Log.LogTextHelper.WriteLog("TestMontitor监测器正在监测");
        }
    }
}
 $("li").each(function(){
    alert($(this).text())
  });

创建完成之后就是这个样子:

拆箱:引用类型转换成值类型。将引用类型的数据拷贝到栈上。

注:TestMontior
相当于我们的Job,代码中 GlobalConfig是我定义的一个全局参数类:

var person={fname:"John",lname:"Doe",age:25};

for (x in person)
  {
  txt=txt + person[x];
  }

 第四部:在WEB中使用:创建一个WEB 
MVC项目,引用TaskBase,然后在Global.asax中添加以下代码:

发表评论

电子邮件地址不会被公开。 必填项已用*标注