windows下C#定時管理器框架Task.MainForm詳解
入住博客園4年多了,一直都是看別人的博客,學(xué)習(xí)別人的知識,為各個默默無私貢獻(xiàn)自己技術(shù)總結(jié)的朋友們頂一個;這幾天突然覺得是時候加入該隊列中,貢獻(xiàn)出自己微弱的力量,努力做到每個月有不同學(xué)習(xí)總結(jié),知識學(xué)習(xí)的分享文章。以下要分享的是花了兩天時間編寫+測試的windows下C#定時管理器框架-Task.MainForm。
目的:
隨著這五年在幾個公司做不同職位的.net研發(fā)者,發(fā)現(xiàn)各個公司都或多或少會對接一些第三方合作的接口或者數(shù)據(jù)抓取功能,都是那種各個服務(wù)直接沒有關(guān)聯(lián)性功能,開發(fā)人員也可能不是一個人,使得winform或者winservice服務(wù)版本也越來越多,服務(wù)器上各種winform窗體,讓不同行的人看起來感覺很復(fù)雜的樣子;沒錯這次的目的就是寫了一個插件(其實還是winform哈哈)通過統(tǒng)一的封裝,規(guī)范,來管理這些程序服務(wù)。
簡介:
此版本使用的是4.5框架,里面用到了一些4.5及以上版本才能使用的東西,如果讀者需要往下兼容,請使用下載開源項目修改下,應(yīng)該是可以的;主要采用的是反射來執(zhí)行業(yè)務(wù)方法;廢話多了直接看下面步奏說明吧。
重要代碼說明:
A.首先框架的整體項目簡單如下
看起來是不是很少,的確是,看具體要求補充吧各位
B.基類TPlugin主要是用來統(tǒng)一管理軟件規(guī)則的,重要的分別有:
1.初始化配置信息
2.開始加載的_Load()方法,這里是所有開始執(zhí)行任務(wù)的入口
C.類PublicClass主要封裝了獲取*.dll文件路徑信息和程序集序列化繼承實體,重點的地方已經(jīng)用紅色標(biāo)注:
1.
2.
D.下面要看的就是定時管理器界面MainForm.cs功能說明:
1.加載具有特定標(biāo)記的程序dll信息
2.服務(wù)開啟
3.異步委托增加管理器監(jiān)控信息
以上就是框架的需要主要的部分,也可以看做知識點吧也許哈哈,再來就是看看繼承這個框架的代碼怎么寫,簡單粗暴如下:
E.繼承插件的任務(wù)類,意思就是咋們自己需要處理的業(yè)務(wù)實現(xiàn)類
F.值得注意的是,不管是同一個項目中的不同任務(wù)類來繼承框架,還是不同項目的中的任務(wù)類來繼承,都可以使用,建議使用前者,這樣就不需要每次有一個業(yè)務(wù)需要定時執(zhí)行信息的時候都要創(chuàng)建一個單獨的項目,Task.MainForm只需要您再同一個項目中分不同的任務(wù)類來繼承就行了:
這里的兩個繼承類對應(yīng)的配置文件默認(rèn)名稱應(yīng)該是:
xml文件結(jié)構(gòu)參考模板:Task.MainForm項目中XmlTp.xml文件(也可以使用開源項目中Task.MainForm\bin\Debug\PluginXml文件夾下面的兩個.xml文件作為例子)
G.最后貼一下發(fā)布項目中的結(jié)構(gòu)圖
以上就是這次開源的定時管理器框架,簡單,第一次寫技術(shù)性文章,希望不用噴的太高,低調(diào)低調(diào);
項目的git地址:https://github.com/shenniubuxing3/Task.MainForm
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c# HttpWebRequest通過代理服務(wù)器抓取網(wǎng)頁內(nèi)容應(yīng)用介紹
在C#項目開發(fā)過程中可能會有些特殊的需求比如:用HttpWebRequest通過代理服務(wù)器驗證后抓取網(wǎng)頁內(nèi)容,要想實現(xiàn)此方法并不容易,本文整理了一下,有需求的朋友可以參考下2012-11-11C#中DataTable實現(xiàn)行列轉(zhuǎn)換的方法
這篇文章主要介紹了C#中DataTable實現(xiàn)行列轉(zhuǎn)換的方法,實例分析了C#操作DataTable的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04C#?使用EntityFramework?CodeFirst?創(chuàng)建PostgreSQL數(shù)據(jù)庫的詳細(xì)過程
這篇文章主要介紹了C#使用EntityFramework?CodeFirst創(chuàng)建PostgreSQL數(shù)據(jù)庫的過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07深入探討C#中的const、readonly關(guān)鍵字
這篇文章主要介紹了深入探討C#中的const、readonly關(guān)鍵字,本文可以幫助你深刻理解這兩個關(guān)鍵字,而且是面試中最可能面試到的問題哦,需要的朋友可以參考下2014-08-08C#使用開源驅(qū)動連接操作MySQL數(shù)據(jù)庫
這篇文章主要介紹了C#使用開源驅(qū)動連接操作MySQL數(shù)據(jù)庫,本文講解使用SourceForge上的mysqldrivercs驅(qū)動連接操作MySQL數(shù)據(jù)庫,需要的朋友可以參考下2015-02-02