日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

使用C#創(chuàng)建安裝Windows服務(wù)程序

admin
2025年3月20日 22:25 本文熱度 936

在實(shí)際工作中,如果我們需要開(kāi)發(fā)一個(gè)運(yùn)行在后臺(tái),無(wú)需用戶交互,不需要界面的應(yīng)用程序,我們可以通過(guò)Windows服務(wù)來(lái)實(shí)現(xiàn)。

本文主要介紹如何基于C#創(chuàng)建一個(gè)Windows服務(wù),來(lái)實(shí)現(xiàn)西門子PLC的定時(shí)讀取保存。

Windows服務(wù)說(shuō)明

Windows 服務(wù)是一種特殊類型的應(yīng)用程序,能夠在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行,且無(wú)需用戶登錄即可執(zhí)行。

它適合于以下場(chǎng)景:

  • 持續(xù)運(yùn)行的任務(wù)(如日志采集、網(wǎng)絡(luò)代理等)

  • 系統(tǒng)后臺(tái)維護(hù)(如自動(dòng)更新、性能監(jiān)控)

  • 需要在無(wú)人值守環(huán)境中執(zhí)行的任務(wù)

Windows 服務(wù)的核心特性:

  • 通過(guò)服務(wù)控制管理器(SCM) 管理

  • 運(yùn)行時(shí)與用戶登錄狀態(tài)無(wú)關(guān)

  • 支持系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行

Windows服務(wù)創(chuàng)建

1、創(chuàng)建一個(gè)新項(xiàng)目,項(xiàng)目模板選擇Windows服務(wù)(.Net Framework)

2、項(xiàng)目名稱為WindowsServiceDemo,項(xiàng)目創(chuàng)建完成后如下:

3、修改服務(wù)名稱為SiemensPLCService:

4在設(shè)計(jì)界面的空白處,右擊彈窗中,選擇添加安裝程序

5、點(diǎn)擊添加安裝程序之后,會(huì)自動(dòng)添加一個(gè)ProjectInstaller界面,里面有兩個(gè)組件,分別是serviceProcessInstaller和serviceInstaller。

6、選擇serviceInstaller,在右側(cè)的屬性進(jìn)行設(shè)置,主要可以設(shè)置以下屬性:

  • ServiceName:服務(wù)名稱

  • Description:服務(wù)描述

  • StartType:?jiǎn)?dòng)類型

7、接著選擇ProjectInstaller進(jìn)行設(shè)置,主要設(shè)置Account,指示用來(lái)運(yùn)行此服務(wù)的賬戶類型,可以設(shè)置為L(zhǎng)ocalSystem。

8、設(shè)置完成之后,切換到SiemensPLCService這個(gè)類,點(diǎn)擊切換到代碼視圖,我們可以看到后臺(tái)有一些自動(dòng)生成的代碼

public partial class SiemensPLCService : ServiceBase{    public SiemensPLCService()    {        InitializeComponent();    }    protected override void OnStart(string[] args)    {    }    protected override void OnStop()    {    }}

我們可以在OnStart和OnStop里寫(xiě)一些代碼邏輯。

9、寫(xiě)了一個(gè)簡(jiǎn)單的邏輯,就是每次服務(wù)啟動(dòng)或停止都會(huì)向指定的文件中寫(xiě)入一串信息。

private Plc siemens;private CancellationTokenSource cts;protected override void OnStart(string[] args){    try    {        this.siemens = new Plc(CpuType.S7200Smart, "192.168.2.150"00);        this.siemens.Open();
        cts = new CancellationTokenSource();        Task.Run(async () =>        {            while (!cts.IsCancellationRequested)            {                try                {                    uint temp = Convert.ToUInt32(this.siemens.Read("DB1.DBD4"));                    float val = temp.ConvertToFloat();                    await Task.Delay(1000);                    WriteInfo("讀取PLC數(shù)據(jù):"+val.ToString("f2"));                }                catch (Exception ex)                {                    WriteInfo(ex.Message);                }            }            this.siemens.Close();        });
    }    catch (Exception ex)    {        WriteInfo(ex.Message);    }}private string filePath = @"D:\ServiceLog.txt";private void WriteInfo(string info){    using (FileStream stream = new FileStream(filePath, FileMode.Append))    {        using (StreamWriter writer = new StreamWriter(stream))        {            writer.WriteLine($"{DateTime.Now},{info}");        }    }}protected override void OnStop(){    this.siemens?.Close();}

Windows服務(wù)安裝卸載

我們直接運(yùn)行剛剛創(chuàng)建的服務(wù),發(fā)現(xiàn)是無(wú)法運(yùn)行的,提示如下:

?
接下來(lái),我們使用這個(gè)exe來(lái)進(jìn)行安裝和卸載Windows服務(wù)。

1、首先,使用管理員權(quán)限打開(kāi)cmd命令行,然后進(jìn)入這個(gè)路徑下,便于直接操作InstallUtil。

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

2、安裝服務(wù)命令:installutil  exe絕對(duì)路徑 ;
installutil C:\Users\Administrator\Desktop\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe

打開(kāi)服務(wù),可以看到TestService這個(gè)名稱的服務(wù)已經(jīng)安裝完成,

3、安裝完成后,雙擊打開(kāi),可以啟動(dòng)服務(wù),也可以手動(dòng)停止:

4、觀察D盤文件,可以看到PLC的數(shù)據(jù)每秒會(huì)存一次到指定文件中:

5、需要卸載服務(wù)時(shí),可以執(zhí)行卸載服務(wù)命令:installutil  exe絕對(duì)路徑 -u ;
installutil C:\Users\Administrator\Desktop\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe -u


閱讀原文:原文鏈接


該文章在 2025/3/21 10:29:47 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

国产麻豆A∨国片精品JK制服| 激情AV系列| 亚洲区在线| 婷婷五月天激情五月天亚洲色情| 美女黄屏在线观看免费| 日本v日本v日本日韩v欧美| 少妇aⅤ一区二区| 深爱六月婷婷五月丁香| 今天AV天天干| 亚洲 欧美 另类 91| 97爱在线视频| 欧美亚洲精品一区二区三区| 日韩在线少妇五区| 日韩欧美国产精品乱码| 欧美 国产一区二区| 日本激情一区二区三区四区| 精品区二区一| 农村亚洲熟妇av在线播放| 麻豆秘 精品天美| 黄色一区在线| 蜜桃偷拍午夜福利三级| 亚洲AV天天射天天干一区| 亚洲欧美10页| 97干在线播放| 亚洲一区二区中文字幕解说| 久久黄色片区| 啪啪啪插入国产一区二区| 綜合88_国产精品| 日大鸡吧视频| 免费国产舔阴视频| 中文字幕缅北一区不卡| 五十路亲子中出在线观看| 欧美日韩午夜看视频在线观看| 好屌一区二区三区| 51福利超碰| 久久久久久伦理热| 91精品小视频麻豆| 国产精在线中文字幕| 女同性恋久久国产视频| 亚洲免费福利网址| 欧美精品情色|