zoukankan      html  css  js  c++  java
  • C#创建Windows服务

    利用VS.NET创建C# Windows服务
     
    在很多应用中需要做windows服务来操作数据库等操作,比如
    (1)一些非常慢的数据库操作,不想一次性去做,想慢慢的通过服务定时去做,比如定时为数据库备份等
    (2)在.net Remoting中利用windows服务来做Host
    利用vs.net我们可以在几分钟之内建立其windows服务,非常简单
    下面说一下步骤
    1. 新建一个项目
    2. 从一个可用的项目模板列表当中选择Windows服务
    3. 设计器会以设计模式打开
    4. 从工具箱的组件表当中拖动一个Timer对象到这个设计表面上 (注意: 要确保是从组件列表而不是从Windows窗体列表当中使用Timer)  
    5. 设置Timer属性,Interval属性200毫秒(1秒进行5次数据库操作)
    6. 然后为这个服务填加功能
    7.双击这个Timer,然后在里面写一些数据库操作的代码,比如
    SqlConnection conn=new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=275280");
         SqlCommand comm=-new SqlCommand("insert into tb1 ('111',11)",conn);
         conn.Open();
         comm.ExecuteNonQuery();
         conn.Close();
    8. 将这个服务程序切换到设计视图
    9. 右击设计视图选择“添加安装程序”

    from:http://post.blog.hexun.com/imagine18/trackback.aspx?articleid=6056177
    10. 切换到刚被添加的ProjectInstaller的设计视图
    11. 设置serviceInstaller1组件的属性:  
          1) ServiceName = My Sample Service
          2) StartType = Automatic (开机自动运行)
    12. 设置serviceProcessInstaller1组件的属性    Account = LocalSystem
    13. 改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)
    14. 执行命令“InstallUtil MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。(InstallUtil这个程序在WINDOWS文件夹\Microsoft.NET\Framework\v1.1.4322下面)
    15. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台
    16. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了
    17. 右击你的服务选择启动就可以启动你的服务了

    看看数据库是不是一秒多了5个记录啊

     
    C# Windows服务安装、卸载批处理代码

    echo 请按任意键开始安装客户管理平台的后台服务. . .
    echo.
    pause
    echo.
    echo 清理原有服务项. . .
    %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil /U D:\Service\WindowsService1.exe > InstallService.log
    echo.
    echo 清理完毕,开始安装后台服务. . .
    echo.
    %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil D:\Service\WindowsService1.exe >> InstallService.log
    echo 服务安装完毕,启动服务. . .
    net start CRMService >> InstallService.log
    echo.
    echo 操作结束,请在 InstallService.log 中查看具体的操作结果。
    echo.
    pause

    C# Windows服务项目里的文件访问

    如果在Windows服务里访问了配置文件或者其它文件,要在解决方案的对应的文件的属性里,将此资源配置为复制或者如果较新则复制,这样,在生成的目录下面才会把文件复制过去.

    在Windows服务里面,如果访问文件,采用绝对路径可以.如果采用相对路径,和生成的服务文件在同一目录下面.则要访问此程序集下面的文件.

    using System;
    using System.Collections.Generic;
    using System.Text;

    using System.Reflection;
    using System.Xml;
    using System.IO;

    namespace HDUSearch
    {
       
    public  class IndexConfig
        
    {
           
    GetValue
        }

    }
  • 相关阅读:
    Code Forces Gym 100886J Sockets(二分)
    CSU 1092 Barricade
    CodeChef Mahesh and his lost array
    CodeChef Gcd Queries
    CodeChef GCD2
    CodeChef Sereja and LCM(矩阵快速幂)
    CodeChef Sereja and GCD
    CodeChef Little Elephant and Balance
    CodeChef Count Substrings
    hdu 4001 To Miss Our Children Time( sort + DP )
  • 原文地址:https://www.cnblogs.com/lonely7345/p/1231351.html
Copyright © 2011-2022 走看看