开发Windows服务的示例 - 郭增新

guozengxin 2021-08-13 原文


开发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 (开机自动运行)
12. 设置serviceProcessInstaller1组件的属性&�sp; 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()来写日志。

发表于
2009-05-20 15:01 
郭增新 
阅读(145
评论(0
编辑 
收藏 
举报

 

版权声明:本文为guozengxin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/guozengxin/archive/2009/05/20/1467919.html

开发Windows服务的示例 - 郭增新的更多相关文章

  1. java 编写小工具 尝试 学习(六) – 所长

    java 编写小工具 尝试 学习(六) 1、java 布局管理器-布局管理器之null布局(空布局) 的 学习 […]...

  2. 分享一个(倒)计时控件,避免各种坑 – 安卓笔记侠

    分享一个(倒)计时控件,避免各种坑 安卓开发经常需要用到计时: 启动页倒计时,广告页倒计时,短信验证码倒计时, […]...

  3. Flatty Shadow在线为Icon图标生成长阴影效果。 – RTdo

    Flatty Shadow在线为Icon图标生成长阴影效果。 2015-04-09 10:41  RTdo  […]...

  4. iPhone8锁屏密码忘了怎么办,iPhone8刷机出现激活锁,怎么破解锁屏密码 – iPhone解锁

    iPhone8锁屏密码忘了怎么办,iPhone8刷机出现激活锁,怎么破解锁屏密码 iPhone8锁屏密码忘了怎 […]...

  5. 项目管理面试提问 – kevin

    项目管理面试提问 项目管理面试提问,实际的问题,关系工资和工作机会~~~~ 近日去一公司应聘项目经理,被提问如 […]...

  6. 经济类图书推荐–转自水木 – burellow

    经济类图书推荐–转自水木 发信人: v2 (^Q^-追逐β), 信区: EconForum标  题 […]...

  7. Android Studio下载安装教程及开发环境搭建 – vus520

    Android Studio下载安装教程及开发环境搭建 Android Stuio是本次Google io的一 […]...

  8. 浏览器被劫持网上优秀的修复方法 – 状元兜里有糖

    浏览器被劫持网上优秀的修复方法 1、冷静分析并找出所有能劫持主页的地方 https://blog.csdn.n […]...

随机推荐

  1. iphone学习笔记(一)

      Author:quietwalk     Date:2010-10-16 模型对象表示数据。 视图对象知道 […]...

  2. hadoop_统计文本单词WordCountReduce&WordCount

    WordCountReduce.javaimport org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop...

  3. jumpserver的安装

    原文地址:http://docs.jumpserver.org/zh/docs/step_by_step.ht […]...

  4. CAD画三维图怎么渲染?一分钟教你快速操作

      从事过CAD相关工作的都知道,CAD绘制的方式有二维平面图以及三维图形,三维图形,画三维图方式也是比较简单 […]...

  5. 本地环境phpStorm10+XDebug配置和断点调试 – dongruiha

    本地环境phpStorm10+XDebug配置和断点调试 首先下载所需要的xdebug扩展(dll文件放到ph […]...

  6. uniapp 扫描 – 生命之森

    uniapp 扫描 借鉴链接:https://blog.csdn.net/qq_33165549/articl […]...

  7. 通过SSH连接linux服务器 – 陈希章

    通过SSH连接linux服务器 SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(N […]...

  8. APP测试功能点总结 – 张鱼

    APP测试功能点总结 1.功能性测试:     ——根据产品需求文档编写测试用例。     ——软件设计文档编 […]...

展开目录

目录导航