你的位置:首页 > ASP.net教程

[ASP.net教程]c#编写 windows 服务


用c#编写window服务常见的几个事件

protected int i = 0;
        public Service1()
        {
            InitializeComponent();
        }

        //启动服务时执行
        protected override void OnStart(string[] args)
        {
            //使时间控件生效 并且1秒钟调用一次timer1_Elapsed() 方法 
            this.timer1.Enabled = true;
            this.timer1.Interval = 1000;
        }

        //停止服务时执行 
        protected override void OnStop()
        {
        }

        //暂停服务时执行

        protected override void OnPause()
        {
            base.OnPause();
        }

        //继续服务时执行 
        protected override void OnContinue()
        {

        }

        //此方法间隔一定时间就会运行一次 
        private void timer1_Elapsed(object sender, ElapsedEventArgs e)
        {
            //在此添加您们需要的功能代码, 我在此添加检测计划是否需要执行
            i++;
            System.IO.File.AppendAllText("d:\\1.txt","s"+i);
        }

 

   编写完服务以后 :

   1. 打开Visual Studio .NET命令提示
  2. 改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)
  3. 执行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。
  4. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台
  5. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了
  6. 右击你的服务选择启动就可以启动你的服务了

 

1:在解决方案中,访问要向其中添加安装组件的服务的Design视图。

2:在属性窗口中,单击添加安装程序链接

这时项目中就添加了一个新类 ProjectInstaller 和两个安装组件 ServiceProcessInstaller 和 ServiceInstaller,并且服务的属性值被复制到组件。

3:若要确定如何启动服务,请单击 ServiceInstaller 组件并将 StartType 属性设置为适当的值。

ü Manual 服务安装后,必须手动启动。

ü Automatic 每次计算机重新启动时,服务都会自动启动。

ü Disabled 服务无法启动。

4:将serviceProcessInstaller类的Account属性改为 LocalSystem

这样,不论是以哪个用户登录的系统,服务总会启动。
第四步:生成服务程序

通过从生成菜单中选择生成来生成项目。

注意 不要通过按 F5 键来运行项目——不能以这种方式运行服务项目。

第五步:安装服务

访问项目中的已编译可执行文件所在的目录。
用项目的输出作为参数,从命令行运行 InstallUtil.exe。在命令行中输入下列代码:
installutil yourproject.exe
卸载服务
用项目的输出作为参数,从命令行运行 InstallUtil.exe。
installutil /u yourproject.exe