zoukankan      html  css  js  c++  java
  • vs2008 windows服务(C#) 开发与安装 [转]

    写在前面,本文参考多处网上文章及自己的体会心得

    下面说一下步骤
    1. 新建一个项目
    2. 从一个可用的项目模板列表当中选择Windows服务
    3. 设计器会以设计模式打开
    4. 从工具箱的组件表当中拖动一个Timer对象到这个设计表面上

    此处要注意的:服务一跑起来,唉,怎么回事,时间到了怎么没有执行事件呢???????
    后来,我找很多资料才知道,这个Timer控件是winForm下的,不能用在windows服务程序中.
    怎么办呢.......
    打开"工具箱"---右键---"选择项"---找到Timer控件,看好了,这个Timer控件的是system.Timer下的.可不是System.Windows.Form.然后添加.

    5. 设置Timer属性和Interval属性

    在InitializeComponent();的下面
    timer1.Enabled = true;
    //timer1.Interval = 1000 * 60 * 60; //一小时执行一次
    timer1.Interval = 1000 * 1;

    6. 然后为这个服务填加功能


    7.双击这个Timer,然后在里面写一些要操作的代码,比如

    string sql = "insert into a (aa) values ('" + DateTime.Now.ToString() + "')";
    ExcuteSql(sql);

    8. 将这个服务程序切换到设计视图


    9. 右击设计视图选择“添加安装程序”


    10. 切换到刚被添加的ProjectInstaller的设计视图


    11. 设置serviceInstaller1组件的属性:
         1) ServiceName = My Sample Service 在我的电脑-管理-服务 中出现的服务的名称
         2) StartType = Automatic (开机自动运行)


    12. 设置serviceProcessInstaller1组件的属性   Account = LocalSystem


    13. 改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)


    14. 执行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。(InstallUtil这个程序在WINDOWS文件 夹\Microsoft.NET\Framework\v1.1.4322下面)

    此处因为是VS2008创建的,所以要用.NET2.0的installutil注册服务

    打开CMD窗口--开始--运行--输入CMD,回车
    //注册服务命令


    cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727


    InstallUtil ....exe 路径


    15. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台


    16. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了


    17. 右击你的服务选择启动就可以启动你的服务了

    ////////////补充////////////////////////////

    OnStart,OnStop,OnPause,OnContinue

        static void Main(string[] args)
            {

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

            }

  • 相关阅读:
    CSS input
    CSS 伪类选择器
    input placeholder 文字颜色修改
    css flex弹性布局学习总结
    jqGrid使用方法
    GridView控件RowDataBound事件的一个实例
    GridView控件RowDataBound事件中获取列字段值的几种途径 !!!
    .net中ckeditor的应用
    博客第一天
    用python实现数学多元数学方程式计算
  • 原文地址:https://www.cnblogs.com/diulela/p/2495676.html
Copyright © 2011-2022 走看看