• Windows 服务入门


            今天做了一个Windows服务,做服务的目的就是想让让它一直检查数据库,当满足一定的条件时弹出一个窗体,也就是报告数据库的修改信息,一开始也是没什么头绪,看看C#高级编程后面的Windows服务介绍也没太懂,后来上网找了个源码看看,懂了一点,开始写代码,现在想想其实也挺简单的,只是在OnStart事件里加入要执行的函数什么的,然后在OnStop()时间加入服务停止时需要执行的代码.在服务的设计视图查看属性,点击下面的“添加安装程序”就会自动添加一个.cs文件时服务的安装程序,那里有一个重要的组件serviceInstaller,它有一些属性可以对服务的基本信息进行修改,比如DisplayName属性就是设置在服务浏览面板里服务所显示的信息,StartType设置服务启动参数,比如Automotic是系统启动的时候服务也启动,等等。
            当然,简单不一定没有问题,一开始我想用一个Timer组件实现每隔多长时间进行一次访问 可是在OnStart()事件里加入 timer1.enable = ture;没有什么反应,我加了一个EventLog组件,然后当OnStart开始时先写一个日志然后再执行timer,可是发现日志写了,但是timer并没有被执行,无奈,只好用线程来代替了,把timer的部分转换成线程 在执行就没有错误了,看来timer组件在windows服务里不能正常工作。
            然而,Windows服务的调试过程也是挺麻烦的,先要注册服务,我建议分别写一个注册注册和删除服务的bat注册的命令是(installutil.exe  文件名)删除时加一个参数( installutil.exe  /u 文件名),这样就可以。

            但是目前我还有一个问题没有解决,因为我想通过Windows服务调用一个.exe文件但是我用 System.Diagnostics.Process.Start("aa.exe");出现异常,拒绝访问!如果哪位曾遇到过类似的问题或者能解决请给我留言,谢谢了!
  • 相关阅读:
    android模拟器EditText 不能用物理键盘输入,也不能用电脑键盘输入
    Java中HashMap遍历的两种方式
    Android平台下基于XMPP的IM研究
    基于MINA框架快速开发网络应用程序
    Java中ArrayList遍历的4种方法
    Java在ACM中的应用
    Java大数
    zoj 1406 Jungle Roads
    hdoj 1009 FatMouse' Trade
    Action 相关组件
  • 原文地址:https://www.cnblogs.com/interboy/p/475262.html
Copyright © 2020-2023  润新知