由于工作有这样的需求,于是各种寻找,但是都不满意,偶然间想起一个方法

1、修改服务的Program.cs文件如下

 static void Main(string[] args)
{ //LoadFile();
if (args == null || args.Length == )
{
ServiceBase[] servicesToRun;
servicesToRun = new ServiceBase[]
{
new ServiceClient()
};
ServiceBase.Run(servicesToRun);
}
else if (args.Length == && System.Text.RegularExpressions.Regex.IsMatch(args[], @"^[1-5]$"))
{
try
{
Process p = null;
ServiceController service = null;
switch (int.Parse(args[]))
{
case :
//取当前可执行文件路径
var path = Process.GetCurrentProcess().MainModule.FileName + "";
p = Process.Start("sc", "create AutoRunClient binpath= \"" + path + "\" displayName= AutoRunClient start= auto");
p.WaitForExit();
break;
case :
p = Process.Start("sc", "delete AutoRunClient");
p.WaitForExit();
break;
case :
service = new ServiceController("AutoRunClient");
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running);
break;
case :
service = new ServiceController("AutoRunClient");
service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped);
break;
case :
service = new ServiceController("AutoRunClient");
service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running);
break; }
}
catch
{ }
}
}

这样,这个服务就做成了一个可当服务可当运行程序的一个功能

那么接下来,当我们需要重启自身的时候 可以这么干

Process.Start("ClientServer.exe","5");

这样就调用自身的有参的实例,然后就重启了

c# 服务程序重启自身的更多相关文章

  1. iis6.0与asp.net的运行原理

    这几天上网翻阅了不少前辈们的关于iis和asp.net运行原理的博客,学的有点零零散散,花了好长时间做了一个小结(虽然文字不多,但也花了不少时间呢),鄙人不才,难免有理解不道的地方,还望前辈们不吝赐教 ...

  2. ASP.NET原理分析

    ASP.NET请求与处理全过程分析 1.用户向服务器的某IP端口发送请求,此端口通过Http.sys来管理,请求报文被Http.sys接收,Http.sys在注册表中找能处理这个请求类型的应用程序,最 ...

  3. HttpClient异步调用引发的程序挂起问题排查及解决

    在搭建搭建分布式系统时,基础组件与框架的重要性不言而喻.但是如果组件出现bug,真的很要命.虽然我们通过各种单元测试,拼命找bug,但是总有一些问题被盲目自信蒙蔽了双眼,很多时候我们认为这段代码100 ...

  4. 002. Asp.Net Routing与MVC 之(基础知识):HttpModule 与 HttpHandler

    本文By 杨工. 一. Http.sys http.sys 从Win2003和WinXP SP2开始,就成为windows操作系统内核驱动程序,能够让任何应用程序通过它提供的接口,以http协议进行信 ...

  5. 使用PXE+Kickstart无人值守安装系统

    PXE预启动执行环境(即Preboot execute environment) 是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用,用于在无人值守安装系统服务中引导客户机安装服 ...

  6. 转 HTTP.SYS 详解

    http.sys 是一个位于Win2003和WinXP SP2中的操作系统核心组件, 能够让任何应用程序通过它提供的接口,以http协议进行信息通讯. 温馨提示:如果用户不慎删除了该驱动文件,不用担心 ...

  7. HTTP.SYS 详解 (网络转载)

    http.sys 是一个位于Win2003和WinXP SP2中的操作系统核心组件, 能够让任何应用程序通过它提供的接口,以http协议进行信息通讯. 温馨提示:如果用户不慎删除了该驱动文件,不用担心 ...

  8. RSYNC部署

    1 rsync简介 1.1 什么是rsync rsync: - a fast, versatile, remote (and local) file-copying toolrsync:是一种快速,多 ...

  9. 实时同步lsyncd

    实时同步lsyncd 1 lsyncd 1.1 lsyncd 简介 Lsyncd使用文件系统事件接口(inotify或fsevents)来监视对本地文件和目录的更改.Lsyncd将这些事件整理几秒钟, ...

随机推荐

  1. NSOJ Constructing Roads(图论)

    There are N villages, which are numbered from 1 to N, and you should build some roads such that ever ...

  2. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览  ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    ...

  3. event.srcElement与event.target的区别

    window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为 ...

  4. 【高德地图API】从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索

    原文:[高德地图API]从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 摘要:地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公 ...

  5. HDU 3639 Hawk-and-Chicken(Tarjan缩点+反向DFS)

    Problem Description Kids in kindergarten enjoy playing a game called Hawk-and-Chicken. But there alw ...

  6. 安裝 Rails 開發環境

    安裝 Rails 開發環境 Give someone a program, you frustrate them for a day; teach them how to program, you f ...

  7. ZOJ3640之简单慨率DP

    Help Me Escape Time Limit: 2 Seconds      Memory Limit: 32768 KB Background     If thou doest well, ...

  8. json.net 比jsonIgnore 更好的方法 修改源码

    关于 JsonIgnore  问题, EF T4 模板 中 存在主外键关系 namespace WindowsFormsApplication1{    using System;    using ...

  9. 初识EPC

    一.EPC定义 EPC=Event-driven Process Chain(事件驱动过程链) EPC建模方法最初由Keller, N¨uttgens和Scheer博士在1992年发表的Ereigni ...

  10. Hibernat之关系的处理一对多/多对一

    第一步:编写两个pojo,比如一个学生表一个班级表  这里使用注解. 需要 班级表: package com.qcf.pox; import java.util.HashSet; import jav ...