• 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
        }

    }
  • 相关阅读:
    MySQl查询语句大全
    并发编程三
    并发编程二
    并发编程
    网络编程
    面向对象高级进阶
    python中的面向对象和面向过程
    为什么还需要学习TypeScript
    Chrome 神器,神奇的技巧
    vue-property-decorator知识梳理
  • 原文地址:https://www.cnblogs.com/lonely7345/p/1231351.html
Copyright © 2020-2023  润新知