• C# windows 服务 操作实例


    先说明一下windows服务开发前要明白的东西,DOS


    程序所在物理路径
    D:workObjectxx.exe

    输入CMD
    cd C:WINDOWSMicrosoft.NETFrameworkv2.0.50727
    cd C:WINDOWSMicrosoft.NETFrameworkv4.0.30319

    安装服务
    installUtil D:workObjectxx.exe

    卸载服务
    installUtil /u D:workObjectxx.exe

    查看Window服务
    services.msc


    C:>
    使用命令行启动服务
    在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:
    net start 服务名                启动 net start 服务名
    net stop 服务名                 停止 net stop 服务名

    用sc可打开被禁用的服务,语法是:
    sc config 服务名 start= demand     //手动
    sc condig 服务名 start= auto       //自动
    sc config 服务名 start= disabled   //禁用
    sc start  服务名
    sc stop   服务名

    下面是实例代码 

     /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            static void Main(string[] args)
            {
                log4net.Config.XmlConfigurator.Configure();
                // 同一进程中可以运行多个用户服务。若要将
                // 另一个服务添加到此进程中,请更改下行以
                // 创建另一个服务对象。例如,
                //
                //   ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
                //
                if (args.Length == 0)
                {
                    ServiceBase[] ServicesToRun;
                    ServicesToRun = new ServiceBase[] { new RemoveCacheService() }; ///new ServiceBase[] { new Service1() }; 实现逻辑入口
                    ServiceBase.Run(ServicesToRun);
                }
                // 安装服务
                else if (args[0].ToLower() == "/i" || args[0].ToLower() == "-i")
                {
                    try
                    {
                        string[] cmdline = { };
                        string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location;
    
                        TransactedInstaller transactedInstaller = new TransactedInstaller();
                        AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline);
                        transactedInstaller.Installers.Add(assemblyInstaller);
                        transactedInstaller.Install(new System.Collections.Hashtable());
                    }
                    catch (Exception ex)
                    {
                        string msg = ex.Message;
                    }
                }
                // 删除服务
                else if (args[0].ToLower() == "/u" || args[0].ToLower() == "-u")
                {
                    try
                    {
                        string[] cmdline = { };
                        string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location;
    
                        TransactedInstaller transactedInstaller = new TransactedInstaller();
                        AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline);
                        transactedInstaller.Installers.Add(assemblyInstaller);
                        transactedInstaller.Uninstall(null);
                    }
                    catch (Exception ex)
                    {
                        string msg = ex.Message;
                    }
                }
            }
  • 相关阅读:
    <2016-1-28>
    <页面里折合与打开>
    右上角鼠标滑过展开收缩动画效果js代码的演示页面
    30款css3实现的鼠标经过图片显示描述特效
    dede让channelartlist标签支持currentstyle属性 完美解决
    织梦导航 currentstyle 点击li添加class类 样式
    论坛首页显示板块,但没有权限点不进去
    医疗窗口右下角弹出抖动效果
    joomla搬家之后打不开 首页404错误
    Discuz X3游客看小图功能导致文字内容隐藏的【修复方法】
  • 原文地址:https://www.cnblogs.com/WolfBlog/p/4172005.html
Copyright © 2020-2023  润新知