Windows Service 开发,安装与调试
Visual Studio.net 2010 Windows Service 开发,安装与调试
本示例完成一个每隔一分钟向C:\log.txt文件写入一条记录为例,讲述一个Windows Service 程序的开发,安装与调试
原程序,加文档示例下载
目录索引
1 开发工具
2 开发过程
3 安装
4 开发调试
5 注意事项
6 参考资料
1. 开发工具
1.1 Visual Stuo.net 2010
1.2 Windows 7
2. 开发过程
2.2 打开Visual Studio.net 2010 ,在C# 下边新建Windows Service 程序,命名为FileOperation,保存在D:\study\目录下边,如下图所示

2.3 点击OK以后,展示出新建的项目如下图所示

2.4 其中Program.cs 文件里的程序如下
代码
整个Service程序将从这里开始
默认情况下,VS会为你新建一个名为Service1的服务程序,右击Service1.cs然后选择,打开服务程序的代码窗,程序如下
代码
其中OnStart(),OnStop() 根据你的需要写入你在Service程序开始和停止的时候要干什么
2.5 既是要定时往C盘根目录去新建一个文件夹,那就需要一个Timer,并且告知他一分钟执行一次,加上Timer以后代码如下
代码
注意引用 : using System.Timers;
只要在internal void _MyTimerElapsed(object sender, ElapsedEventArgs e) 方法中添加你的程序即可
2.6 既是要文件操作,首先需要添加相关命名空间的引用,以方便你的代码编写
完了以后你的程序如下
代码
2.7 接下来就程序的安装与调试,看以上新建目录程序是否正常
3. 安装
1.1 右击Service1 选择 View Desinger 打开设计视图,右击设计视图的空白处选择add Installer ,会为你新建ProjectInstaller.cs安装项目文件,打开刚刚新建的ProjectInstaller.cs的设计视图,单击serviceInstaller1,在属性窗口,将ServiceNmae 设置为FileOperation ,StartType 属性设置为Automatic表示系统启动后自动运行服务程序如下图所示,将serviceProcessInstaller1 的Account属性设置为LocalService

3.1 通过以上步骤以后,一个服务程序开发基本完成,你只需要把它安装即可,选择解决方案,生成解决方案,再打开你的方案位置文件夹下,看看你的Bin目录,出现如下文件
FileOperation.exe
FileOperation.pdb
FileOperation.vshost.exe
FileOperation.vshost.exe.manifest
接下来要做的就是要把FileOperation服务程序安装到你的系统当中去,依如下步骤打开Visual Studio.net 2010的命令行程序
如下图所示

3.2 将命令行程序转到你项目bin文件夹下如下图所示

3.3 安装和缷载Windows Service的命令分别是
installutil 服务程序.exe, installutil /u服务程序.exe
这里我先安装项目,输入如下命令
Installutil FileOperation.exe
将出现如下图所示内容

最后内容将看到
The Commit phase completed successfully
the transacted install has completed
表示服务程序已经安装完成
通过以下步骤打开服务窗口,你将看到名为FileOperation服务程序
开始->控制面版->系统与安全->管理工具->服务
你需要手动启动服务,一段时间以后你将看到log.txt 文件里写的信息
4. 开发调试
1.1 Windows service 程序无法像其它程序那样按F5去设置断点来调试,需要采用附加进程的方式,依如下操作便加像平常一样去调试程序了
Debug->Attach to process,选中刚刚开发好的FileOperation进程后,点击attach,便可以设置断点了,由于之前的程序是一分钟执行一次写文件操作,你每隔一分钟将会收到一次调试,需要注意的是,你调试的程序一定要和你安装的服务程序是完全一样的。
5. 注意事项
略
6. 参考文资料
http://msdn.microsoft.com/zh-cn/library/9k985bc9(v=VS.80).aspx
Windows服务的快速搭建与调试(C#图解)
目录
一、什么是Windows 服务?
二、创建Windows 服务与安装/卸载批处理。
三、调试Windows 服务。
正文
一、什么是Windows 服务?
答:Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。
二、创建Windows 服务。
打开:Visual Studio 2010 => 新建 => 项目 => Windows 服务,如图:

点击确定 => 生成的Service1.cs 文件视图上右键 => 添加安装程序 => 生成的ProjectInstaller.cs视图页面设置serviceInstaller1 里的启动方式、Windows 服务名称,如图:

然后在设置serviceProcessInstaller1的账号信息,选择“本地系统”,如图:

至此,安装程序与框架已经搭建完毕,然后就在Service1.cs的OnStart代码视图中编写自己的业务代码即可,如图:

至此,完整windows 服务已经制作完毕。
安装服务的批处理代码:
"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" F:\xxx\xxx.exe net start "服务名称"
卸载服务的批处理代码:
net stop "服务名称"
"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" /u F:\xxx\xxx.exe
三、调试Windows服务。
打开的Visual Studio 2010工具栏中的工具 => 附加到进程 => 点击确定,选择列表中的要调试服务名称 => 点击附加就可以调试了。程序中只需F9打点就可以调试,注意要windows服务保持版本一致哦。
如图:


结尾
Windows服务其实很简单,为需要的人整理一下,如果有用请点击支持,谢谢。
http://www.cnblogs.com/stone_w/archive/2012/06/26/2563483.html
http://www.cnblogs.com/zycblog/archive/2010/07/02/1769676.html
Windows Service 开发,安装与调试的更多相关文章
- Windows Service的安装卸载 和 Service控制(转)
Windows Service的安装卸载 和 Service控制 原文地址:http://www.cnblogs.com/Peter-Zhang/archive/2011/10/15/2212663. ...
- Windows Service的安装卸载 和 Service控制
原文 Windows Service的安装卸载 和 Service控制 本文内容包括如何通过C#代码安装Windows Service(exe文件,并非打包后的安装文件).判断Service是否存在. ...
- C#中级-Windows Service程序安装注意事项
一.前言 这周除了改写一些识别算法外,继续我的Socket服务编写.服务器端的Socket服务是以Windows Service的形式运行的. 在我完成Windows Service编写后,启动服务时 ...
- C# Windows service 开发笔录
本文将详细图解,开发Windows service的过程. 功能:数据库查询数据后,经过处理,每天定时发送邮件. 一.WinForm调试 1.新建Windows service项目 2.新建WinFo ...
- React Native for Android on Windows 配置开发安装总结
配置开发安装总结(由于当前react-native更新较快,目前是针对2015年11月底时的reacti-native android for windows版本,有些内容可能过时) 官方的安装指导在 ...
- Visual Studio 2012的Windows Service服务安装方式
windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境特别适合,它没有用户界面,不会产生任何可视输出,任何用户输出都回被写进windows事件日志.计算机启动时,服务会自动开始 ...
- Windows Service 之 安装失败后的删除
一个windows服务在卸载之后并不会马上从服务列表中消失掉,而是在服务列表中会显示服务被禁用:这样在你需要再次安装同名服务时,就装不了了,会被提示同名的服务已经存在.如果是在本地安装,这种情况很容易 ...
- 在Windows Service上安装运行Redis
CSDN下载RedisWatcher,运行InstallWatcher.msi,默认安装在C:\Program Files (x86)\RedisWatcher,修改watcher.conf # re ...
- Window服务程序(windows service application)如何调试
服务程序不能通过常规的按F5或F11的方式来进行调试和运行,也无法立即运行一个服务或逐步调试它的代码. 因此,你必须安装并启动你的服务,然后附属(attach)一个Debugger到这个服务的进程上.
随机推荐
- 0502团队项目 SCRUM团队成立
Scrum团队成立 团队名称:对不对?队 团队目标:短期目标,完成O2O模式的第一个平台 团队口号:我们都不是神的孩子 团队照: 角色分配 产品负责人: 许佳仪.决定开发内容和优先级排序,最大化产品以 ...
- hdu 5876 ACM/ICPC Dalian Online 1009 Sparse Graph
题目链接 分析:这叫补图上的BFS,萌新第一次遇到= =.方法很简单,看了别人的代码后,自己也学会了.方法就是开两个集合,一个A表示在下一次bfs中能够到达的点,另一个B就是下一次bfs中到不了的点. ...
- iOS开发Swift篇—(一)简单介绍
iOS开发Swift篇—简单介绍 一.简介 Swift是苹果于2014年WWDC(苹果开发者大会)发布的全新编程语言 Swift在天朝译为“雨燕”,是它的LOGO 是一只燕子,跟Objective-C ...
- Halcon 10.0 Sample:完整性检查(圆形)
* ball.hdev: Inspection of Ball Bonding * 球接合检查 Comment Time:// *核心思想:.白色区域用作自动ROI,黑色区域是目标 * .Openin ...
- ionic 安装遇到的问题以及解决方案
公司里要用到 Ionic 做移动App 混合开发 一个环境搭建折腾了好几天.一是公司权限问题,二是网络问题,你懂得. Ionic 环境搭建官网有教程.本来几行命令就能搞定的事,一旦遇到网络问题,就蛋疼 ...
- oracle生成行方法
数据库记录是行的集合 set of row, 那么如何如何生成集合呢? oracle中常用的是 递归查询(with ... union all ...) 以及 connect by(树形查询) htt ...
- ubuntu安装无线驱动
一.无线驱动的安装. 首先查看自己的网卡类型:lspci -vnn | grep 14e4 查看内核版本: -uname -r 去www.broadcom.com/support/802.11/lin ...
- AngularJs的UI组件ui-Bootstrap分享(二)——Collapse
Collapse折叠控件使用uib-collapse指令 <!DOCTYPE html> <html ng-app="ui.bootstrap.demo" xml ...
- 关于MySQL中的left join、on、where的一点深入
原文地址:http://www.oschina.net/question/89964_65912?sort=default&p=3#answers 即使你认为自己已对 MySQL 的 LEFT ...
- DOM扩展之Selectors API
jQuery的核心就是通过CSS选择符查询DOM文档取得元素的引用,从而抛开了getElementById()和getElementsByTagName(). Selectors API致力于让浏览器 ...