• Windows Service 开发,安装与调试


    Visual Studio.net 2010 Windows Service 开发,安装与调试

    本示例完成一个每隔一分钟向C:log.txt文件写入一条记录为例,讲述一个Windows Service 程序的开发,安装与调试
        原程序,加文档示例下载

    /Files/zycblog/SourceCode.rar

        目录索引

        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然后选择View Code,打开服务程序的代码窗,程序如下

    代码

    其中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.NETFrameworkv4.0.30319InstallUtil.exe"  F:xxxxxx.exe 
    
    net start "服务名称"

    卸载服务的批处理代码:

    net stop "服务名称"
    "%SystemRoot%Microsoft.NETFrameworkv4.0.30319InstallUtil.exe" /u  F:xxxxxx.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

  • 相关阅读:
    mysql 数据丢失更新的解决方法
    session springboot 会话共享实现
    java web cors-filter 跨域开源库springboot 配置
    redis 持久化数据保存RDB&AOF
    JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) 解决
    springboot 配置启动非web applicationContexnt
    nginx session 配置失效解决
    sqlplus 的安装和配置
    文件下载在前端显示乱码的问题
    java Classpath 的解读
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/4960194.html
Copyright © 2020-2023  润新知