asp.net 中timer控件的问题
时间:2010-11-06
来源:互联网
我安装了中文版的vs2005,怎么没有timer控件?
我从专业网站上下载了ajax,这里有timer控件。安装完毕,在asp.net的网站页面上,放一个timer控件。
运行时提示::
The control with ID 'Timer1' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.
放一个ScriptManager,这个错误没有出现了。
问题1:中文版的vs2005为什么没有timer控件?
问题2:ScriptManager是什么东西?为什么要使用ScriptManager,timer控件才能使用呢?
我从专业网站上下载了ajax,这里有timer控件。安装完毕,在asp.net的网站页面上,放一个timer控件。
运行时提示::
The control with ID 'Timer1' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.
放一个ScriptManager,这个错误没有出现了。
问题1:中文版的vs2005为什么没有timer控件?
问题2:ScriptManager是什么东西?为什么要使用ScriptManager,timer控件才能使用呢?
作者: haowenyao 发布时间: 2010-11-06
VS2005开发中Timer控件失效的解决方法
Timer控件失效的解决
在Windows 服务不引发计时器事件
原因:
我认为windows服务里不能使用System.Windows.Forms的Timer控件,Windows.Forms 计时器组件用于 Windows.Forms 环境。WindowsForms 计时器组件不用于服务器环境,所以要使用System.Timer下的控件。
解决方案
这个可以通过修改控件的类型,把所有使用服务器计时器从命名空间 System.Timers 代替 System.Windows.Forms 计时器。如:
以下是引用片段:
Service1.Designer.cs
1namespace MyNewService
2{
3 partial class MyNewService
4 {
5 /**////
6 /// 必需的设计器变量。
7 ///
8 private System.ComponentModel.IContainer components = null;
9
10 /**////
11 /// 清理所有正在使用的资源。
12 ///
13 /// 如果应释放托管资源,为 true;否则为 false。
14 protected override void Dispose(bool disposing)
15 {
16 if (disposing && (components != null))
17 {
18 components.Dispose();
19 }
20 base.Dispose(disposing);
21 }
22
23 组件设计器生成的代码#region 组件设计器生成的代码
24
25 /**////
26 /// 设计器支持所需的方法 - 不要
27 /// 使用代码编辑器修改此方法的内容。
28 ///
29 private void InitializeComponent()
30 {
31 this.eventLog1 = new System.Diagnostics.EventLog();
32 this.timer1 = new System.Timers.Timer();
33 ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).BeginInit();
34 ((System.ComponentModel.ISupportInitialize)(this.timer1)).BeginInit();
35 //
36 // timer1
37 //
38 this.timer1.Interval = 2000;
39 this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
40 //
41 // MyNewService
42 //
43 this.CanPauseAndContinue = true;
44 this.CanShutdown = true;
45 this.ServiceName = "MyNewService";
46 ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).EndInit();
47 ((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit();
48
49 }
50
51 #endregion
52
53 private System.Diagnostics.EventLog eventLog1;
54 private System.Timers.Timer timer1;
55
56 }
57}Service1.cs:
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Diagnostics;
6using System.ServiceProcess;
7using System.Text;
8
9namespace MyNewService
10{
11 public partial class MyNewService : ServiceBase
12 {
13 public MyNewService()
14 {
15 InitializeComponent();
16 if (!System.Diagnostics.EventLog.SourceExists("MySource"))
17 {
18 System.Diagnostics.EventLog.CreateEventSource(
19 "MySource", "MyNewLog");
20 }
21 eventLog1.Source = "MySource";
22 eventLog1.Log = "MyNewLog";
23 }
24
25 protected override void OnStart(string[] args)
26 {
27 eventLog1.WriteEntry("In OnStart");
28 this.timer1.Enabled = true;
29
30
31 }
32
33 protected override void OnStop()
34 {
35 eventLog1.WriteEntry("In onStop.");
36 this.timer1.Enabled = false;
37 }
38
39 protected override void OnContinue()
40 {
41 eventLog1.WriteEntry("In OnContinue.");
42 }
43
44
45
46 private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
47 {
48 eventLog1.WriteEntry("timer1_Tick." + DateTime.Now.ToString());
49 }
50
51
52 }
53}
Timer控件失效的解决
在Windows 服务不引发计时器事件
原因:
我认为windows服务里不能使用System.Windows.Forms的Timer控件,Windows.Forms 计时器组件用于 Windows.Forms 环境。WindowsForms 计时器组件不用于服务器环境,所以要使用System.Timer下的控件。
解决方案
这个可以通过修改控件的类型,把所有使用服务器计时器从命名空间 System.Timers 代替 System.Windows.Forms 计时器。如:
以下是引用片段:
Service1.Designer.cs
1namespace MyNewService
2{
3 partial class MyNewService
4 {
5 /**////
6 /// 必需的设计器变量。
7 ///
8 private System.ComponentModel.IContainer components = null;
9
10 /**////
11 /// 清理所有正在使用的资源。
12 ///
13 /// 如果应释放托管资源,为 true;否则为 false。
14 protected override void Dispose(bool disposing)
15 {
16 if (disposing && (components != null))
17 {
18 components.Dispose();
19 }
20 base.Dispose(disposing);
21 }
22
23 组件设计器生成的代码#region 组件设计器生成的代码
24
25 /**////
26 /// 设计器支持所需的方法 - 不要
27 /// 使用代码编辑器修改此方法的内容。
28 ///
29 private void InitializeComponent()
30 {
31 this.eventLog1 = new System.Diagnostics.EventLog();
32 this.timer1 = new System.Timers.Timer();
33 ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).BeginInit();
34 ((System.ComponentModel.ISupportInitialize)(this.timer1)).BeginInit();
35 //
36 // timer1
37 //
38 this.timer1.Interval = 2000;
39 this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
40 //
41 // MyNewService
42 //
43 this.CanPauseAndContinue = true;
44 this.CanShutdown = true;
45 this.ServiceName = "MyNewService";
46 ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).EndInit();
47 ((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit();
48
49 }
50
51 #endregion
52
53 private System.Diagnostics.EventLog eventLog1;
54 private System.Timers.Timer timer1;
55
56 }
57}Service1.cs:
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Diagnostics;
6using System.ServiceProcess;
7using System.Text;
8
9namespace MyNewService
10{
11 public partial class MyNewService : ServiceBase
12 {
13 public MyNewService()
14 {
15 InitializeComponent();
16 if (!System.Diagnostics.EventLog.SourceExists("MySource"))
17 {
18 System.Diagnostics.EventLog.CreateEventSource(
19 "MySource", "MyNewLog");
20 }
21 eventLog1.Source = "MySource";
22 eventLog1.Log = "MyNewLog";
23 }
24
25 protected override void OnStart(string[] args)
26 {
27 eventLog1.WriteEntry("In OnStart");
28 this.timer1.Enabled = true;
29
30
31 }
32
33 protected override void OnStop()
34 {
35 eventLog1.WriteEntry("In onStop.");
36 this.timer1.Enabled = false;
37 }
38
39 protected override void OnContinue()
40 {
41 eventLog1.WriteEntry("In OnContinue.");
42 }
43
44
45
46 private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
47 {
48 eventLog1.WriteEntry("timer1_Tick." + DateTime.Now.ToString());
49 }
50
51
52 }
53}
作者: EduKit 发布时间: 2010-11-06
作者: EduKit 发布时间: 2010-11-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28