日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

使用C#創建安裝Windows服務程序

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

在實際工作中,如果我們需要開發一個運行在后臺,無需用戶交互,不需要界面的應用程序,我們可以通過Windows服務來實現。

本文主要介紹如何基于C#創建一個Windows服務,來實現西門子PLC的定時讀取保存。

Windows服務說明

Windows 服務是一種特殊類型的應用程序,能夠在系統啟動時自動運行,且無需用戶登錄即可執行。

它適合于以下場景:

  • 持續運行的任務(如日志采集、網絡代理等)

  • 系統后臺維護(如自動更新、性能監控)

  • 需要在無人值守環境中執行的任務

Windows 服務的核心特性:

  • 通過服務控制管理器(SCM) 管理

  • 運行時與用戶登錄狀態無關

  • 支持系統啟動時自動運行

Windows服務創建

1、創建一個新項目,項目模板選擇Windows服務(.Net Framework)

2、項目名稱為WindowsServiceDemo,項目創建完成后如下:

3、修改服務名稱為SiemensPLCService:

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

5點擊添加安裝程序之后,會自動添加一個ProjectInstaller界面,里面有兩個組件,分別是serviceProcessInstaller和serviceInstaller。

6、選擇serviceInstaller,在右側的屬性進行設置,主要可以設置以下屬性:

  • ServiceName:服務名稱

  • Description:服務描述

  • StartType:啟動類型

7、接著選擇ProjectInstaller進行設置,主要設置Account,指示用來運行此服務的賬戶類型,可以設置為LocalSystem。

8、設置完成之后,切換到SiemensPLCService這個類,點擊切換到代碼視圖,我們可以看到后臺有一些自動生成的代碼

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

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

9、寫了一個簡單的邏輯,就是每次服務啟動或停止都會向指定的文件中寫入一串信息。

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數據:"+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服務安裝卸載

我們直接運行剛剛創建的服務,發現是無法運行的,提示如下:

?
接下來,我們使用這個exe來進行安裝和卸載Windows服務。

1、首先,使用管理員權限打開cmd命令行,然后進入這個路徑下,便于直接操作InstallUtil。

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

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

打開服務,可以看到TestService這個名稱的服務已經安裝完成,

3、安裝完成后,雙擊打開,可以啟動服務,也可以手動停止:

4、觀察D盤文件,可以看到PLC的數據每秒會存一次到指定文件中:

5、需要卸載服務時,可以執行卸載服務命令:installutil  exe絕對路徑 -u ;
installutil C:\Users\Administrator\Desktop\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe -u


閱讀原文:原文鏈接


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

主站蜘蛛池模板: 精品福利一区二区视频 | 日本一区二区在线观看精品 | 国产欧美精品国产国产专区 | 欧美亚日韩一二三四 | 国产亚洲精品国产福利在线观看 | 果冻传媒一区二区天美传媒 | 日韩丝袜亚洲国产欧美一区 | 国产喷水在线观看 | 成人一区二区三区 | 亚洲欧美日韩中文高清一 | 欧美人与性动交α欧美精品 | 美足脚交国产在线观看 | 在线看免费看国产精品视频 | 国产精品亚洲二区在线播放 | 精品一区网友自拍偷拍第一页 | 亚洲精品区午夜亚洲精品区 | 草草视频手机在线观看视频 | 歐美性猛交xxxx亂大交3 | 亚洲国产精品午夜伦不卡 | 天天a3极品a3私服 | 国产一区二区精品 | 欧美日韩自 | 亚洲国产第一区二区香蕉 | 欧美精品1区国新欲乱视频 国产一区二区精品免费播放 | 视频在线观看 | 中文字幕日本 | 精品在线视频免费在线观 | 亚洲五月天综合 | 国产午夜免费一区二区三区 | 性色a∨人人 | 精品国产国产综合精品 | 日本高清不卡在线中文字幕 | 成人福利在线视频免费观看 | 国产精品v欧美精品v日韩精品 | 杨幂在日本一区二区视频 | 亚洲aⅴ永久无 | 高清在线午夜一区二区亚洲 | 国产黄a三级三级三级 | 国产精品美脚玉 | 好看的电影 | 欧美亚洲一区电影 |