• Windows服务常见问题


    1、OnStart()最常见的问题:在OnStart()的执行时间问题,如果超过30秒SCM会武断的认为服务无法启动,所以建议放到线程中执行。

    2、调试最痛苦的问题:这个就直接贴上代码,在mian中写入如下代码

            static void Main()
    {
    System.ServiceProcess.ServiceBase[] ServicesToRun;

    ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Watcher() };

    System.ServiceProcess.ServiceBase.Run(ServicesToRun);
    //#region //Console.WriteLine("Console"); //Watcher watcher = new Watcher(); //watcher.OnStart(null); //Console.ReadLine(); //watcher.OnStop(); //watcher.Dispose(); //#endregion }
    请好好看看代码,我喜欢注销了来切换调试与发布版的程序,你也可以通过用#if 或者通过输入参数来判断。这个可能比较难,建议新手还是老老实实的注册再运行(我也刚学^_^,但是我不老实)。
     
    3、注册服务的问题:用C:\Windows\Microsoft.NET\Framework\v2.0.50727目录下的InstallUtil.exe执行(在命令行中:当前目录=>InstallUtil [-u表示卸载] 服务名.exe)。
    如果你想直接安装的话可以搜下windows服务安装,有不用InstallUtil.exe版本的,还图文并茂,这里就不说了。
     
    4、功能限制的问题:说起来服务差不多就是木马,反过来也差不多,你看不见摸不着的,呵呵,所以它有好多权限被限制了,不过你完全可以放到别的程序里,然后通过服务控制通信就可以了。
     
    5、截屏的问题:哎,第一次编程我就想干坏事,呵呵,然后会报错,但是在控制台是正确的。原因很简单,服务是没有界面的因此跟桌面无关,当然就没法截屏了。
     
    6、执行目录的问题:C:\Windows\System32这个是它的执行目录,不是你的程序所在的目录。
     
    暂时就这么多,希望用过windows服务的童鞋们,把遇到过的、没遇到过的、已经解决的、没解决的问题都发上来给大家分享^_^,非常感谢
    作者:KKcat
        
    个人博客:http://jinzhao.me/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    java中整形变量与字节数组的转换
    Oracle中的dual表的用途
    Linux环境变量的配置
    WebService 之Axis2(三)
    WebService 之Axis2(二)
    Axis2: wsdl2java 参数注解
    axis2学习——axis2的安装
    axis2学习——axis2消息处理机制
    axis2学习——客户端的开发
    axis2学习——开发自定义的axis2服务
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1582449.html
Copyright © 2020-2023  润新知