CVS2010创建安装调试windows服务windowsservice.docx

上传人:scccc 文档编号:14769434 上传时间:2022-02-19 格式:DOCX 页数:6 大小:12.06KB
返回 下载 相关 举报
CVS2010创建安装调试windows服务windowsservice.docx_第1页
第1页 / 共6页
CVS2010创建安装调试windows服务windowsservice.docx_第2页
第2页 / 共6页
CVS2010创建安装调试windows服务windowsservice.docx_第3页
第3页 / 共6页
CVS2010创建安装调试windows服务windowsservice.docx_第4页
第4页 / 共6页
CVS2010创建安装调试windows服务windowsservice.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《CVS2010创建安装调试windows服务windowsservice.docx》由会员分享,可在线阅读,更多相关《CVS2010创建安装调试windows服务windowsservice.docx(6页珍藏版)》请在三一文库上搜索。

1、C# VS 2010 创建、安装、调试 windows 服务(windows service)在一个应用程序中创建多个 windows服务的方法和1083错误的解决方法法添加服务安装成功 后自启动功能1. 创建windows服务项目文件- 新建项目- 已安装的模板- Visual C# - windows ,在右侧窗口选择windows服务2. 系统已经为我们建立了一个Service1.cs组件,测试时我们就用它了如果要新件的话,右键项目- 添加- 新建项- windows服务。3. 在Service1.cs上,按F7 (右键查看代码),打开代码页。加入我们测试 用的代码。注意:下面的几个方法

2、中的 str变量,为了我们一会儿调试时设置断点用的!using System;using System.Diag no stics;using System.ServiceProcess;n amespace Win dowsService1public partial class Service1 : ServiceBasepublic Service1()In itializeComp onen t();In itService();/ III初始化服务参数/ private void In itService()base.AutoLog = false;base.Ca nShutdow

3、n = true;base.Ca nStop = true;base.Ca nPauseA ndCo ntinue = true;base.ServiceName = Service1;这个名字很重要,设置不一致会产生1083错误哦!protected override void OnStart(string args)string str =服务开启;protected override void On Stop()string str =服务停止;protected override void OnContinu e()string str =服务继续运行;base. OnCon ti n

4、u e();protected override void On Pause()string str =服务暂停;base. On Pause();4. 建立服务的 安装程序”4.1双击” Service1.cs,打开Service1.cs的视图设计器4.2在视图设计器中任意位置右键,选择”添加安装程序“4.3这时项目跟目下将出现一个 Project In staller.cs 的组件(如果是第一次添加”安装程序的话)4.4 双击 ProjectInstaller.cs 打开 ProjectInstaller的视图设计器4.5找到service In stallerl 组件,选中后按 F4键,

5、设置组件属性。Descriptio n=测试服务 1 ”;DisplayName= “ Service1ServiceName= “Service1 ;”/这个值必须和 Win dowsService1.l nitService()方 法下设置的base.ServiceName 属性一至。StartType为服务运行类型,根据你的需要设置即可。(Manual :手动启动,AutoMatic为自动启动)4.6找到serviceProcessInstaller1组件,选中后按 F4键,设置组件属性。Account= “LocalSystem;” /设置为其他的属性在开启服务时,会提示输入用 户名和

6、密码4.7这样就完成了一个服务的所有准备,下面就是安装和测试工作。5. 生成组件右键项目,选择生成6. 安装组件6.1使用InstallUtil.exe工具注册组件服务,文件位置在不同版本的framework中。我用的是4.0所以在一下位置C:Wi ndowsMicrosoft.NETFrameworkv4.0.30319l nstallUtil.exe6.2打开生成目录,如果生成成功会有一个WindowsService1.exe 文件6.3在生成目录根目录下新加两个bat (批处理文件),用于安装和卸载服务新建一个文本文件,打开文件加入以下两行命令C:Wi ndowsMicrosoft.NE

7、TFrameworkv4.0.30319l nstallUtil.exeWin dowsService1.exepause保存后关闭文本文件,之后将其重命名为 安装服务.bat文件,注意要修改后缀 名为.bat!再新建一个文本文件,打开文件加入以下两行命令C:Wi ndowsMicrosoft.NETFrameworkv4.0.30319l nstallUtil.exe /uWin dowsService1.exepause保存后关闭文本文件,之后将其重命名为 卸载服务.bat文件,注意要修改后缀 名为.bat!6.4安装服务.bat文件,安装windows服务7. 安装成功后需要手动开启服务

8、,因为我们刚设置 serviceI nstaller1.StartType 为 Manual打开windows服务管理器,找到名为 Service1的服务,右键属性。点击【启 动】按钮8. windows 调试8.1回到开发环境,选择调试-附加到进程,勾选”显示所有用户进程“8.2找到 WindowsService1.exe 进程(如果没有点击下刷新按钮),选中后点击附加到进程”按钮。8.3选中Service1.cs文件,后按F7打开代码视图8.4在所有str变量上添加调试断点8.5回到windows服务管理器,找 Service1服务并选中它,在左侧有一个 暂 停”按钮。点击一下这时,On

9、Pause方法下的断点命中! 0K达到了调试的目的了9. 如果想一次安装多个服务,需要按照25的步骤多添加几个服务就好了!问题及解决方案注册成功后,启动 Windows服务 时遇到错误:1083的解决办法1. 查看Main()方法中是否启动了指定的服务ServiceBase ServicesToR un;ServicesToR un = new ServiceBasenew Service1(),new Service2() /如果建立多个服务需要添加这段代码;ServiceBase.R un (ServicesToRu n);2. 确保 ProjectInstaller.es 视图设计器中的

10、 serviceInstaller1 组件的 ServiceName 属性与 Service1.cs 组件的 ServiceName 属性一致添加服务安装成功后自启动功能1. 打开 ProjectInstaller.es 视图设计器,选中serviceInstallerl 组件2. 打开serviceInstallerl组件的事件窗口,双击 Afterlnstall事件3. 在serviceInstaller1_Afterlnstall事件方法下添加如下代码System.ServiceProcess.ServiceController sc = new System.ServiceProcess.ServiceController();sc.ServiceName = ExpressDispatchingTrack; / 必须与 ProjectI nstaller.es视图设计器中的 serviceInstallerl 组件的 ServiceName 属性一致sc.Start();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1