利用VS.NET快速开发Windows服务(C#)

利用vs.net我们可以在几分钟之内建立其windows服务,非常简单

下面说一下步骤
1. 新建一个项目
2. 从一个可用的项目模板列表当中选择Windows服务
3. 设计器会以设计模式打开
4. 从工具箱的组件表当中拖动一个Timer对象到这个设计表面上 (注意: 要确保是从组件列表而不是从Windows窗体列表当中使用Timer)

  Timer添加步骤:
  打开"工具箱"---右键---"选择项"---找到Timer控件,看好了,这个Timer控件的是System.Timers下的.

  可不是System.Windows.Form.然后添加.双击...写事件.

 

5. 设置Timer属性,Interval属性100毫秒(1秒进行10次数据库操作)
6. 然后为这个服务填加功能
7.双击这个Timer,产生事件“private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e){...}”方法,然后在里面写一些数据库操作的代码,

比如:

 

timer1_Elapsed事件
1  private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
2 {
3 SqlConnection con = new SqlConnection(@"server=CHAR.LIU\MSSQLSERVER2008;database=SEC_PRO;uid=sa;pwd=100200");
4 SqlCommand com = new SqlCommand(@"INSERT INTO [Table_Test] ([TName]) VALUES ('张三')", con);
5 con.Open();
6 com.ExecuteNonQuery();
7 con.Close();
8 }

 

8. 将这个服务程序切换到设计视图
9. 右击设计视图选择“添加安装程序”
10. 切换到刚被添加的ProjectInstaller的设计视图
11. 设置serviceInstaller1组件的属性: 
    命名服务名称 ServiceName = My_Test_Service
    设置服务启动类型 StartType = Automatic (开机自动运行)
12. 设置serviceProcessInstaller1组件的属性  Account = LocalSystem
13.让服务运行时,开始让Timer控件起作用,即在OnStart事件中添加timer1.Start();

 

OnStart事件
1         protected override void OnStart(string[] args)
2 {
3 timer1.Start();
4 }
 
 
14. 改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)
15. 执 行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。
(InstallUtil这个程序在WINDOWS文件夹\Microsoft.NET\Framework\v2.0.50727下面)
 

 
16. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台
17. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了
  
18. 右击你的服务选择启动就可以启动你的服务了
 
最后看看数据库是不是新增了10条数据...
 
需要注意的是:
如果你修改了这个服务,路径没有变化的话是不需要重新注册服务的,如果路径发生了变化,需要先卸载这个服务InstallUtil.exe -u参数,然后再重新安装这个服务,不能直接安装。还有就是windows服务是没有界面的,不要企图用控制的输出方式来输出一些信息,你只能添加一个EventLog,通过WriteEntry()来写日志。
 
posted @ 2011-12-12 17:10  深入浅出  阅读(249)  评论(0)    收藏  举报