利用vs.net开发windows服务(c#)

在不少应用中须要作windows服务来操做数据库等操做,好比
(1)一些很是慢的数据库操做,不想一次性去作,想慢慢的经过服务定时去作,好比定时为数据库备份等
(2)在.net Remoting中利用windows服务来作Host

利用vs.net咱们能够在几分钟以内创建其windows服务,很是简单

下面说一下步骤
1. 新建一个项目
2. 从一个可用的项目模板列表当中选择Windows服务
3. 设计器会以设计模式打开
4. 从工具箱的组件表当中拖动一个Timer对象到这个设计表面上 (注意: 要确保是从组件列表而不是从Windows窗体列表当中使用Timer)
5. 设置Timer属性,Interval属性200毫秒(1秒进行5次数据库操做)
6. 而后为这个服务填加功能
7.双击这个Timer,而后在里面写一些数据库操做的代码,好比
SqlConnection conn=new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=275280");
    SqlCommand comm=-new SqlCommand("insert into tb1 (‘111‘,11)",conn);
    conn.Open();
    comm.ExecuteNonQuery();
    conn.Close();

8. 将这个服务程序切换到设计视图
9. 右击设计视图选择“添加安装程序”
10. 切换到刚被添加的ProjectInstaller的设计视图
11. 设置serviceInstaller1组件的属性:
     1) ServiceName = My Sample Service
     2) StartType = Automatic (开机自动运行)
12. 设置serviceProcessInstaller1组件的属性   Account = LocalSystem
13. 改变路径到你项目所在的bin/Debug文件夹位置(若是你以Release模式编译则在bin/Release文件夹)
14. 执行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它创建一个合适的注册项。 (InstallUtil这个程序在WINDOWS文件夹/Microsoft.NET/Framework/v1.1.4322下面)
15. 右击桌面上“个人电脑”,选择“管理”就能够打计算机管理控制台
16. 在“服务和应用程序”里面的“服务”部分里,你能够发现你的Windows服务已经包含在服务列表当中了
17. 右击你的服务选择启动就能够启动你的服务了
看看数据库是否是一秒多了5个记录啊

须要注意的是:
若是你修改了这个服务,路径没有变化的话是不须要从新注册服务的,若是路径发生了变化,须要先卸载这个服务InstallUtil.exe /u参数,而后再从新安装这个服务,不能直接安装。还有就是windows服务是没有界面的,不要企图用控制的输出方式来输出一些信息,你只能添加一个EventLog,经过WriteEntry()来写日志。

关于怎么用windows服务来作一个远程服务能够看一下http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetHT15.asp
html

相关文章
相关标签/搜索