国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

vb.net中windows服務的創建

2024-07-10 13:00:36
字體:
來源:轉載
供稿:網友
 

無論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程序進行安裝

注冊會員,創建你的web開發資料庫,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴堡县| 兴隆县| 青阳县| 永新县| 石阡县| 孝感市| 榆社县| 奇台县| 平舆县| 锡林郭勒盟| 合肥市| 慈溪市| 大冶市| 清水河县| 廊坊市| 长春市| 宾阳县| 凤庆县| 安新县| 新民市| 绥宁县| 华蓥市| 龙陵县| 松阳县| 平江县| 治县。| 乐至县| 金门县| 观塘区| 阳原县| 松桃| 昌宁县| 竹溪县| 曲靖市| 玉林市| 乌苏市| 油尖旺区| 马关县| 桐柏县| 长乐市| 伊吾县|