windows下C#定時管理器框架Task.MainForm詳解
入住博客園4年多了,一直都是看別人的博客,學(xué)習(xí)別人的知識,為各個默默無私貢獻自己技術(shù)總結(jié)的朋友們頂一個;這幾天突然覺得是時候加入該隊列中,貢獻出自己微弱的力量,努力做到每個月有不同學(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)用紅色標注:
1.
2.
D.下面要看的就是定時管理器界面MainForm.cs功能說明:
1.加載具有特定標記的程序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)的配置文件默認名稱應(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í)有所幫助,也希望大家多多支持我們。
上一篇:ListView用法中與滾動相關(guān)的需求實現(xiàn)
欄 目:C#教程
下一篇:XAML如何獲取元素的位置
本文標題:windows下C#定時管理器框架Task.MainForm詳解
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5648.html
您可能感興趣的文章
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新聞效果的方法
- 01-10C#實現(xiàn)多線程下載文件的方法
- 01-10WinForm實現(xiàn)自定義右下角提示效果的方法
- 01-10C#實現(xiàn)自定義windows系統(tǒng)日志的方法
- 01-10C#3.0使用EventLog類寫Windows事件日志的方法
- 01-10Winform消除button按下出現(xiàn)的虛線簡單實現(xiàn)方法
- 01-10C#使用windows服務(wù)開啟應(yīng)用程序的方法
- 01-10C#一個簡單的定時小程序?qū)崿F(xiàn)代碼
- 01-10C#日歷樣式的下拉式計算器實例講解
- 01-10實現(xiàn)ASP.NET無刷新下載并提示下載完成的開發(fā)思路


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
隨機閱讀
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10C#中split用法實例總結(jié)
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法