与Windows服务的首次亲密接触

Windows XP是美国微软公司研发的基于X86、X64架构的PC和平板电脑使用的操作系统,于2001年8月24日发布RTM版本,并于2001年10月25日开始零售 。其名字中“XP”的意思来自英文中的“体验(Experience)” 。该系统是继Windows 2000及Windows ME之后的下一代Windows操作系统,也是微软首个面向消费者且使用Windows NT5.1架构的操作系统 。      每次开机,Windows XP都要启动80多个服务,而一般用户对这些在后台运行的服务所知甚少 。它们究竟是干什么的?我是否真的需要所有的这些服务?本教程将告诉你哪些服务是必须运行的,哪些服务是不必运行的 。开始我们的第一次与windows 服务的亲密接触吧.
在很多应用中需要做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 (开机自动运行)
【与Windows服务的首次亲密接触】12. 设置serviceProcessInstaller1组件的属性 Account = LocalSystem
13. 改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)
14. 执行命令“InstallUtil MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项 。(InstallUtil这个程序在WINDOWS文件夹\Microsoft.NET\Framework\v1.1.4322下面)
15. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台
16. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了
17. 右击你的服务选择启动就可以启动你的服务了 。
问题的关键在于实际上我们离不开这些服务,Windows XP的很多功能都是通过这些服务来实现的 。简单地讲,你可以把这些服务理解为在后台完成系统任务的程序,比如获取自动更新或者管理打印任务 。与一般应用程序的最大区别是它们都是在“后台”运行的,因此你基本上感知不到它们的存在 。

    推荐阅读