zoukankan      html  css  js  c++  java
  • [Solution] Microsoft Windows 服务(1) C#创建Windows服务

      Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。

    开发

      0.创建服务 1.安装 2.启动 3.停止 4.卸载 5.监控服务

    创建服务:

    1.  在c#中创建1个服务很简单,只要继承ServiceBase,重写OnStart和OnStop方法就可以.(最快的是右键新建项)

        OnStart方法是服务启动的时候执行的

        OnStop方法是服务停止的时候执行的

      

    2.  通常会用System.Timers.Timer做定时任务处理.

    安装:

    方式一(手动):

    InstallUtil:

    1. 打开Visual Studio .NET命令提示
    2. 改变路径到你项目所在的binDebug文件夹位置(如果你以Release模式编译则在binRelease文件夹)
    3. 执行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。

    方式二(代码):

    a.ManagedInstallerClass类:

    var filePath = Process.GetCurrentProcess().MainModule.FileName(取当前进程文件路径)

    var cmds = new []{filePath};

    ManagedInstallerClass.InstallHelper(cmds);

    b.(sc命令是用来与服务控制管理器和服务进行通信的命令行程序)

    var cmd = "create myserver binpath= ""+程序绝对路径名+"" displayName= 服务名 start= auto"

    Process.Start("sc", cmd);

    启动:

    方式一(代码):

    a.Process.Start("sc", "start 服务名");

    方式二(手动):

    a.命令提示符中:net start 服务名

    b.运行"services.msc",找到服务名,启动服务

    停止:

    方式一(代码):

    a.Process.Start("sc", "stop 服务名");

    方式二(手动):

    a.命令提示符中:net stop 服务名

    b.运行"services.msc",找到服务名,停止服务

    卸载:

    方式一(手动):

    1. 打开Visual Studio .NET命令提示
    2. 改变路径到你项目所在的binDebug文件夹位置(如果你以Release模式编译则在binRelease文件夹)
    3. 执行命令“InstallUtil.exe /u MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。

     

    方式二(代码):

    Process.Start("sc", "delete 服务名");

    监控:

    使用ServiceController来获取服务状态或对服务进行控制。

    这个类可以获取服务的状态,属性,对服务也可以进行启动,停止操作

    代码下载

  • 相关阅读:
    单片机 C语音开发 sbit使用方法··
    android笔记JSON数据解析
    android软键盘挡住输入框问题解决方法
    android学习
    View.setTag()与View.getTag()的作用
    【Android学习专题】数据存储篇:SharedPreferences/Files/SDCard
    android完美退出程序
    Looper.prepare()
    各种Adapter的用法
    android 界面布局 很好的一篇总结 【转】
  • 原文地址:https://www.cnblogs.com/neverc/p/4560503.html
Copyright © 2011-2022 走看看