麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

WinForm應(yīng)用程序中實(shí)現(xiàn)自動(dòng)更新功能

2019-11-17 02:26:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

WinForm應(yīng)用程序中實(shí)現(xiàn)自動(dòng)更新功能

WinForm應(yīng)用程序中實(shí)現(xiàn)自動(dòng)更新功能

編寫(xiě)人:左丘文

2015-4-20

近來(lái)在給一客戶實(shí)施ECM系統(tǒng),但他們使用功能并不是我們ECM制造版提供的標(biāo)準(zhǔn)功能,他們要求對(duì)系統(tǒng)作一些定制功能,為了避免因程序的bug而帶來(lái)頻繁讓用戶更新程序的不良影響,就想給ECM增加一個(gè)winform自動(dòng)更新功能,今天在這里,我想與大家一起分享代碼,在此做個(gè)小結(jié),以供參考。有興趣的同學(xué),可以一同探討與學(xué)習(xí)一下,否則就略過(guò)吧。

1、首先我們?cè)谶@里先分析一下其它程序猿的一些基本情況:

相信有許多程序猿都喜歡用Winform做開(kāi)發(fā)吧?!因?yàn)?/strong>Winform相對(duì)Webform而言,優(yōu)點(diǎn)是,功能更強(qiáng)大,編程更方便.但是它的缺點(diǎn),就是軟件的安裝及維護(hù)是相當(dāng)麻煩地,要實(shí)現(xiàn)軟件更新,需要到客戶端一臺(tái)一臺(tái)地升級(jí)。

長(zhǎng)期以來(lái),廣大程序猿為到底是使用Client/Server,還是使用Browser/Server結(jié)構(gòu)爭(zhēng)論不休,在這些爭(zhēng)論當(dāng)中,C/S結(jié)構(gòu)的程序可維護(hù)性差,布置困難,升級(jí)不方便,維護(hù)成本高就是一個(gè)相當(dāng)重要的因素。有很多企業(yè)用戶就是因?yàn)檫@個(gè)原因而放棄使用C/S。然而當(dāng)一個(gè)應(yīng)用必須要使用C/S結(jié)構(gòu)才能很好的實(shí)現(xiàn)其功能的時(shí)候,我們?cè)撊绾谓鉀Q客戶端的部署與自動(dòng)升級(jí)問(wèn)題?部署很簡(jiǎn)單,只要點(diǎn)擊安裝程序即可,難的在于每當(dāng)有新版本發(fā)布時(shí),能夠?qū)崿F(xiàn)自動(dòng)升級(jí)。現(xiàn)在好了,我們的目標(biāo)很簡(jiǎn)單,我們希望開(kāi)發(fā)一個(gè)與具體應(yīng)用無(wú)關(guān)的能夠復(fù)用的自動(dòng)升級(jí)系統(tǒng)。下面我為大家提供了一套可復(fù)用的用C#實(shí)現(xiàn)在線升級(jí)。這里分為本地在線升級(jí),也可以利用webservice 在線通過(guò)互聯(lián)網(wǎng)與軟件開(kāi)商的服務(wù)器在線升級(jí)。

2、實(shí)現(xiàn)軟件自動(dòng)在線升級(jí)的原理

1) 寫(xiě)三個(gè)程序,一個(gè)是主程序;兩個(gè)是升級(jí)程序;所有升級(jí)任務(wù)都由升級(jí)程序完成

原本只需要一個(gè)升級(jí)程序,但在這里,由于我們另外還涉及到了,在線與軟件供應(yīng)商服務(wù)器更新功能,因此我們這里用到了一個(gè)主程序兩個(gè)升級(jí)程序。

2) 很多人實(shí)行的原理是將現(xiàn)有版本與最新版本作比較,發(fā)現(xiàn)最新的則提示用戶是否升級(jí),當(dāng)然也有人用其它屬性比較的,例如:文件大小或者更新日期。我們這里主要利用FileUtil的兩個(gè)屬性SHA1File與md5File來(lái)判斷,與服務(wù)器之間是否存在版本差異,存在就更新。

3) 我們的程序,剛開(kāi)始初始版本是我一同事利用了三天時(shí)間,大致寫(xiě)了一個(gè)框架出來(lái),我是在他的基礎(chǔ)上,對(duì)其進(jìn)行了完善,如增加了對(duì)文件流的壓縮與解壓縮功能,方便進(jìn)行網(wǎng)絡(luò)的傳輸,增加了通過(guò)webservices的在線更新功能。并將程序做到通用功能,并嵌套到了我們的ECM系統(tǒng)中。

3、軟件更新操作界面:

1) 啟動(dòng)我們的主程序ECM

2) 系統(tǒng)會(huì)從數(shù)據(jù)庫(kù)中檢查是否有新版本,點(diǎn)點(diǎn)【否】會(huì)直接進(jìn)入系統(tǒng),點(diǎn)【是】系統(tǒng)會(huì)進(jìn)入到更新介面:

先擇需要更新的內(nèi)容,點(diǎn)擊更新,系統(tǒng)會(huì)自動(dòng)更新相關(guān)程序。

3) 與軟件供應(yīng)商服務(wù)器在線更新介面:

操作類(lèi)似于在線本地更新一樣。

具體就需要各位好好的自已去調(diào)試了。

4、更新程序的代碼:

1) 我們的更新程序是以文件流的形式存放在數(shù)據(jù)庫(kù)中,因此我們首先需要為系統(tǒng)數(shù)據(jù)庫(kù)增加相關(guān)的表,用于存儲(chǔ)更新文件。

--建立相關(guān)表SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[SysUpdate]([ID][int]IDENTITY(1,1)NOTNULL,[FileName][varchar](250)NULL,[FileVersion][varchar](50)NULL,[FilePath][varchar](250)NULL,[FileData][varbinary](max)NULL,[FileSize][varchar](250)NULL,[FileDate][varchar](250)NULL,[FileType][varchar](50)NULL,[FilesHash][varchar](max)NULL,[FilesMD5][varchar](max)NULL,[UpdateBit][bit]NULL,[RegBit][bit]NULL)ON[PRIMARY]GOSETANSI_PADDINGOFF--建立插入SPSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOcreateprocedure[dbo].[Insert_UpdateFile]@filenamevarchar(250),@fileversionvarchar(50),@filepathvarchar(250),@filesizevarchar(250),@filedatevarchar(250),@filetypevarchar(50),@fileshashvarchar(250),@filesmd5varchar(250),@filevarbinary(Max)asinsertintoSysUpdate([FileName],[FileVersion],[FilePath],[FileSize],[FileDate],[FileType],[UpdateBit],[RegBit],[FilesHash],[FilesMD5],[FileData])select@filename,@fileversion,@filepath,@filesize,@filedate,@filetype,1,0,@fileshash,@filesmd5,@fileView Code

2) 整體程序框架圖如下:

3) 上傳功能代碼:

namespaceSysUpdate{publicpartialclassfrmSysUpdateUp:Form{privatestringupdateUrl=string.Empty;privatestringtempUpd
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 毛片网站视频 | 毛片免费在线播放 | 国产精品国产成人国产三级 | 在线小视频国产 | 中国杭州少妇xxxx做受 | 99亚洲伊人久久精品影院红桃 | 亚洲生活片 | 成人视屏网站 | av大全在线免费观看 | 欧美黄色小视频 | 激情小说图 | 免费视频a | 超碰97国产在线 | 久久中出 | 久久久一二三 | 99精品视频久久精品视频 | 中文字幕涩涩久久乱小说 | 中文字幕在线免费播放 | 日日夜av | 成人一区二区三区在线 | 欧美在线观看视频一区 | 亚洲性爰 | 88xx成人永久免费观看 | 国产精品观看在线亚洲人成网 | 最新91在线视频 | 美女黄网站免费观看 | 国产91在线播放九色 | 国产成人在线一区二区 | 日本高清视频网站www | 在线天堂中文字幕 | 国产一级大片 | 可以看逼的视频 | 蜜桃网站在线观看 | 亚洲午夜久久久久 | 国产精品久久久久久影院8一贰佰 | 午夜视频亚洲 | 免费黄色入口 | 天天干天天碰 | 精品国产一区二区三区四区在线 | 久久精品伊人网 | 黄色男女视频 |