网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

.net创建windows service

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/02/27

本文主要为广大网友提供“.net创建windows service”,希望对需要.net创建windows service网友有所帮助,学习一下!

前言

net为创建windows service提供了专门的类库,结束了以前开发windows service窘迫的局面。你甚至可以不用添加一行代码,就可以用wizard生成一个windows service。

一、用wizard生成最基本的框架



此时,系统会为你生成一个框架,部分主要源代码如下:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.ServiceProcess;

namespace WindowsService1

{

       public class Service1 : System.ServiceProcess.ServiceBase

       {

              

              private System.ComponentModel.Container components = null;

              

        public Service1()

              {

                     InitializeComponent();

              }

              static void Main()

              {

                     System.ServiceProcess.ServiceBase[] ServicesToRun;

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

            System.ServiceProcess.ServiceBase.Run(ServicesToRun);

              }

              private void InitializeComponent()

              {

                     components = new System.ComponentModel.Container();

                     this.ServiceName = "Service1";

              }

              protected override void Dispose( bool disposing )

              {

                     if( disposing )

                     {

                            if (components != null)

                            {

                                   components.Dispose();

                            }

                     }

                     base.Dispose( disposing );

              }

              protected override void OnStart(string[] args)

              {

                     

              }

             protected override void OnStop()

              {

                     

              }

       }

}



有必要将其结构讲解一下。其中,System.ServiceProcess就是关键所在,是引入windows service的地方。其中的OnStart()、OnStop()两个函数能够被windows服务管理器或者MMC调用,进行服务的启动、停止。

二、构建一个服务

该框架提供了一个空的服务,什么也不能做。所以我们要给它添加代码。比如,我想

做一个能够扫描数据库的服务,要求每次扫描完之后间隔一秒钟,然后继续扫描。

根据上面的要求,初步设想需要一个timer类,查命名空间,发现有二个不同的timer类,他们是:

1、  System.Windows.Forms.Timer

2、  System.Timers.Timer

还有一个System.Threading,带有sleep方法

究竟该用哪个呢?

细查MSDN,会找到只有2适合,对于1来说,timer控制时间不够精确,对于线程来说,实现比较困难。

三、规划一下流程

基于该服务的要求,确定服务的流程如下:



为此,我们定义两个函数:_Scan(bool _judge)、_DO_Something()然后引入System.Timers命名空间,并且定义一个_timer对象,这些代码如下:

1、using System.Timers;                       //引入System.Timers                                                                   

2、public System.Timers.Timer _timer;           //定义对象_timer                                                              

3、public bool _Scan(bool _judge)                                                                                                              

              {                                                                                                                                                            

                     //TODO                                                                                                                                        

              }                                                                                                                                                           

4、public void _DO_Something()                                                                                                               

              {                               

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号