服务没有及时响应启动或控制请求

服务没有及时响应启动或控制请求_第1张图片
前几天把控制台项目弄成系统服务启动,但是出现上图的错误,服务一下子就停止运行了。
一开始以为是端口被占用,结果不是。
①、出现这种错误一般是代码有问题,可以使用try catch 打印日志
我当时问题是无法打印日志,原因是加载日志配置文件路径出错:

 static void Main(string[] args)
        {
          // 错误
            log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("../../log4net.config"));
           //正确
           log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(getLogPath());

            ServiceBase[] ServicesToRun;
            ServicesToRun = new ServiceBase[]
            {

                new shortConnection()
             };
            ServiceBase.Run(ServicesToRun);

        }

         /// 
        /// 日志路径
        /// 
        /// 
        private static string getLogPath()
        {
            string path = System.AppDomain.CurrentDomain.BaseDirectory;

            string rootpath = path.Substring(0, path.LastIndexOf("\\"));
            rootpath = rootpath.Substring(0, rootpath.LastIndexOf("\\"));
            rootpath = rootpath.Substring(0, rootpath.LastIndexOf("\\")) + "\\log4net.config";
            return rootpath;
        }

②、查看window 事件日志

如果日志没打印错误,就通过 控制面板->系统和安全->查看事件日志->windows 日志,
查看系统日志。
当时的问题是.net framework 4.5.2 框架不匹配,通过下载指定框架版本即可。

服务没有及时响应启动或控制请求_第2张图片

通过这两种思路可以解决上述问题。

你可能感兴趣的:(C#,Socket)