创建 一个监视的方法,放到application对象中 System.Timers.Timer t = new System.Timers.Timer(timerInt);
t.Elapsed += Theout;
t.AutoReset = true;
t.Enabled = true; Application.Add("MachineTimer", t);关闭 清空 application对象 if (null != Application["MachineTimer"])
Application["MachineTimer"] = null;这里清空赋值为NULL后,监视方法依然在执行!难道是因为 Timer 对象这里只是引用,而application中设置为NULL的时候,此Timer对象还在,但是它会在以后被GC垃圾回收吗?
t.Elapsed += Theout;
t.AutoReset = true;
t.Enabled = true; Application.Add("MachineTimer", t);关闭 清空 application对象 if (null != Application["MachineTimer"])
Application["MachineTimer"] = null;这里清空赋值为NULL后,监视方法依然在执行!难道是因为 Timer 对象这里只是引用,而application中设置为NULL的时候,此Timer对象还在,但是它会在以后被GC垃圾回收吗?
是在集合中新增一项Application["MachineTimer"] = null;
是删除集合指定项注意你只是从集合中无法访问到 Application["MachineTimer"]而已而Application["MachineTimer"] 之前的内容 并没有消失你应该显示的System.Timers.Timer t = Application["MachineTimer"] as System.Timers.Timer ;
if(t!=null)
{
t.Close();
}
Application["MachineTimer"] = null;
application.Contents.Remove("变量名")