中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
vb.net中windows服务的创建
作者:未知 时间:2005-07-27 21:53 出处:CSDN 责编:chinaitpower
              摘要:vb.net中windows服务的创建

无论windows服务执行什么样的处理,创建与安装服务的步骤都十分相似.visual studio提供了windows services项目类型,利用它可以迅速创建windows服务,一下介绍简单的步骤:

1)新建项目,在new project对话框中,选择windows服务图标,在对话框name字段输入服务名称,确定.visual studio将显示服务的设计视图.

2)在服务属性里面进行设置:servicebase类的属性如下:

              a.autolog  获得或设置指定服务是否在时间日志中自动报告start,stop,pause和contunue操作的布尔值

              b.canhandlepowerevent  获得或设置指定服务是否可以对应于电源状态变化的布尔值,如果服务提供了onpowreevent方法,该属性应设置为true,

              c.canstop  获得或设置服务是否可以停止的布尔值,如果提供了onstop方法,则设置为true

              d.servicename  获得或设置使系统识别服务的名称

编写你的服务信息,例如:

Imports System.ServiceProcess
Imports System.Threading
Imports System.Data.SqlClient

Public Class Service1
    Inherits System.ServiceProcess.ServiceBase
    Private Shared bstop As Boolean
    Private mythread As Thread
#Region " 组件设计器生成的代码 "

   

    '组件设计器所必需的
    Private components As System.ComponentModel.IContainer

    '注意: 以下过程是组件设计器所必需的
    ' 可以使用组件设计器修改此过程。
    ' 不要使用代码编辑器修改它。
  
    Private Sub startserver()
        bstop = False
        Dim OrderForm, ddh, matnrh As String
        Dim MyLocalDataReader As SqlDataReader
        Dim MyprdDataReader As SqlDataReader
        Dim mykc As SqlDataReader
        Dim kcsl, prdsl, tempsl As Long
        Dim flag As Boolean = False
        Dim mat As String
        Dim vrm As Long
        While Not bstop
            Try
                SqlCMDtemp.CommandText = "delete from tb_ty_cctemp"
                SqlCMDtemp.Connection = SqlConnection_local
                SqlCMDtemp.ExecuteNonQuery()
                If SqlCMDtemp.ExecuteNonQuery() = 0 Then
                    mythread.Sleep(180000)
                End If
          End While
                mythread.Sleep(180000)
            Catch ex As Exception
                bstop = True
            End Try
        End While
    End Sub
    Private Sub stopserver()
        Dim i As Integer = 0
        bstop = True
        Try
            SqlConnection_local.Close()
            SCMlocal.CommandText = "insert into MyServiceLog(vc_status,dt_created) values('服务关闭',getdate())"
            SqlConnection_local.Open()
            SCMlocal.Connection = SqlConnection_local
            i = SCMlocal.ExecuteNonQuery
        Catch ex As Exception
            bstop = True
        End Try
    End Sub
    Protected Overrides Sub OnStart(ByVal args() As String)
        ' 在此处添加启动服务的代码。此方法应设置具体的操作
        ' 以便服务可以执行它的工作。
        Dim i As Integer
        Try
            SqlConnection_local.Close()
            SCMlocal.CommandText = ""
            SCMlocal.CommandText = "insert into MyServiceLog(vc_status,dt_created) values('服务启动',getdate())"
            SqlConnection_local.Open()
            SCMlocal.Connection = SqlConnection_local
            i = SCMlocal.ExecuteNonQuery
        Catch ex As Exception
            bstop = True
        End Try
        mythread = New Thread(AddressOf startserver)
        mythread.Start()
    End Sub
    Protected Overrides Sub OnPause()
        mythread.Suspend()
    End Sub
    Protected Overrides Sub OnContinue()
        mythread.Resume()
    End Sub

    Protected Overrides Sub OnStop()
        ' 在此处添加代码以执行停止服务所需的关闭操作。
        Me.stopserver()
    End Sub

End Class

如果需要把服务时间写入windows事件日志,以下的代码片断使用eventlog对象把一个项放入application日志中:

dim log as new eventlog("application")

log.source="program name"

log.writeentry("message to place into the event log")

log.close

添加安装

在设计视图右击,选择添加安装程序并进行相应的设置

使用installutil程序进行安装


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有