国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于WCF的文件上傳方法實(shí)現(xiàn)

2017-05-12 18:52周虎
軟件工程 2017年3期
關(guān)鍵詞:契約

周虎

摘 要:針對在試題庫建設(shè)中需要大數(shù)據(jù)量文件上傳操作的特點(diǎn),在研究WCF的框架和數(shù)據(jù)交互技術(shù)的基礎(chǔ)上,設(shè)計(jì)一個(gè)基于WCF流模式數(shù)據(jù)傳輸?shù)奈募蟼鞒绦?,尤其在大?shù)據(jù)量上傳時(shí),大大提高了文件上傳的效率,并且在客戶端可以查看當(dāng)前文件上傳的進(jìn)度。通過對WCF服務(wù)端和客戶端的設(shè)計(jì)與配置,實(shí)現(xiàn)了基于WCF的文件上傳功能。

關(guān)鍵詞:WCF;文件上傳;流模式;契約;Net.Tcp

中圖分類號:TP311.1 文獻(xiàn)標(biāo)識碼:A

Abstract:As a large amount of data needs to be uploaded in the construction process of the examination database system,based on the framework of WCF and data exchange technology,the paper designs a file uploading system based on the WCFstream mode.Especially when uploading a large amount of data,the system greatly improves the efficiency of file transfer,and the real-time uploading progress can be viewed from the client program.Through the design and configuration of the WCF server and client,the file uploading functions are implemented based on WCF.

Keywords:WCF file uploading;stream mode;contract;Net.Tcp

1 引言(Introduction)

文件上傳在基于網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)過程中經(jīng)常用到的一個(gè)功能[1],通常情況下客戶端通過Http的Post方式或使用Ftp方式進(jìn)行文件上傳,但是采用以上兩種方式在大數(shù)據(jù)量文件上傳時(shí),在上傳進(jìn)度的顯示、上傳文件的效率,以及斷點(diǎn)續(xù)傳方面仍存在一些缺陷。本文根據(jù)在題庫系統(tǒng)建設(shè)中特點(diǎn),需要用到大數(shù)據(jù)量的文件上傳功能,集成到題庫系統(tǒng)中去,上傳到服務(wù)端根據(jù)當(dāng)前日期自動創(chuàng)建日期文件夾中,并能實(shí)時(shí)顯示文件上傳的進(jìn)度,結(jié)合WCF流模式數(shù)據(jù)傳輸技術(shù),實(shí)現(xiàn)了客戶端的文件上傳功能,一方面客戶端可以查看文件上傳的進(jìn)度,同時(shí)也大大提高了文件傳輸?shù)男省?/p>

2 WCF技術(shù)簡介(WCF introduction)

Windows Communication Foundation(WCF)是由微軟開發(fā)的一系列支持?jǐn)?shù)據(jù)通信的應(yīng)用程序框架[2],整合了原有的windows通訊的.net Remoting、WebService、Socket的機(jī)制[3]。WCF程序框架主要包含了四個(gè)方面,分別為契約、服務(wù)運(yùn)行時(shí)、消息和寄宿[2]。契約屬于一個(gè)服務(wù)公開接口的一部分[4]。一個(gè)服務(wù)的契約,定義了服務(wù)端公開的服務(wù)方法、使用的傳輸協(xié)議、可訪問的地址、傳輸?shù)南⒏袷降葍?nèi)容[5]。服務(wù)運(yùn)行時(shí)定義了服務(wù)在運(yùn)行時(shí)的具體行為。消息方面包含了消息的傳輸方式、消息的編碼與解碼。激活和宿主屬于WCF程序的部署方式。根據(jù)WCF框架中數(shù)據(jù)流模式傳輸?shù)奶攸c(diǎn),當(dāng)客戶端上傳文件時(shí),將文件轉(zhuǎn)換為字節(jié)流方式分塊傳輸,通過設(shè)置文件名、文件大小、文件偏移量和發(fā)送字節(jié)數(shù)組的數(shù)據(jù)契約,實(shí)現(xiàn)了客戶端的文件上傳操作,具體如圖1所示。

3 文件傳輸服務(wù)端設(shè)計(jì)(File transfer server design)

對于WCF文件上傳的服務(wù)端設(shè)計(jì),主要包含了四個(gè)部分:文件上傳服務(wù)契約的設(shè)計(jì)、文件上傳服務(wù)的實(shí)現(xiàn)、文件服務(wù)的部署和服務(wù)的宿主程序設(shè)計(jì)[6]。

3.1 文件上傳服務(wù)契約設(shè)計(jì)

文件上傳服務(wù)契約主要包含了服務(wù)契約接口的設(shè)計(jì)和數(shù)據(jù)契約文件信息的定義,服務(wù)契約中主要定義了文件上傳方法,參數(shù)是上傳文件信息和對應(yīng)保存的路徑,數(shù)據(jù)契約包含了文件的基本信息,如程序所示。

在程序中,文件的偏移量屬性用來記錄當(dāng)前文件已經(jīng)傳輸?shù)淖止?jié)數(shù),而定義發(fā)送的字節(jié)屬性用于約定每次發(fā)送字節(jié)的大小。

3.2 文件上傳服務(wù)的實(shí)現(xiàn)

文件上傳服務(wù)主要是實(shí)現(xiàn)了IFileTransfer接口,通過接收客戶端傳遞的文件對象及保存該文件的文件夾信息,首先判斷根據(jù)當(dāng)前日期創(chuàng)建的文件夾是否存在,如果不存在則先創(chuàng)建該日期文件夾,然后將接收到的字節(jié)數(shù)組和文件的偏移量通過二進(jìn)制方式寫入文件中。在服務(wù)端通過實(shí)現(xiàn)IFileTransfer接口,重寫UploadFileInfo方法,返回?cái)?shù)據(jù)契約約定的文件信息對象,如程序所示。

5 結(jié)論(Conclusion)

本文通過對WCF框架的介紹,結(jié)合WCF中數(shù)據(jù)流傳輸模式,設(shè)計(jì)了基于WCF的文件上傳服務(wù),實(shí)現(xiàn)了文件上傳的服務(wù)器端和客戶端的功能設(shè)計(jì),并在題庫建設(shè)系統(tǒng)中得到了具體的應(yīng)用,尤其在大數(shù)據(jù)量文件上傳過程中文件上傳的效率得到了相應(yīng)的提高 。

參考文獻(xiàn)(References)

[1] Igor Kol.Benefits of the Use of Asynchronous Methods in a WCF Service and Its Client,Synchronizing Resource Access Between These Methods[C].Military Technologies(ICMT),2015,05:1-8.

[2] GuoYunhua.A Message Service System Based on WCF Duplex Communication[C].Computer Science & Service System(CSSS),2012,08:1480-1483.

[3] Wei Zhang.Research and Application of WCF Extensibility[C].Web Information Systems and Mining(WISM), 2010,10:363-367.

[4] 沈正.WCF研究與開發(fā)[J].中國新技術(shù)新產(chǎn)品,2009,19:13.

[5] 黃森,劉豐.基于WCF的數(shù)據(jù)流傳輸方案研究與應(yīng)用[J].計(jì)算機(jī)安全,2009,12:14-15.

[6] 胡興梅,李玲.基于WCF的信息系統(tǒng)結(jié)構(gòu)模型與體系架構(gòu)的研究與設(shè)計(jì)[J].電腦知識與技術(shù),2009,22:6198-6199.

[7] 陳品華,石林祥.WCF技術(shù)在中小企業(yè)的應(yīng)用[J].微型電腦應(yīng)用,2011,08:59-61.

[8] 周斌,茅維華.WCF在數(shù)字化校園建設(shè)中的應(yīng)用[J].中山大學(xué)學(xué)報(bào),2009,S1:335-337.

作者簡介:

周 虎(1977-),男,碩士,講師.研究領(lǐng)域:軟件開發(fā).

猜你喜歡
契約
一紙契約保權(quán)益
晚清至民國時(shí)期(1840~1949)契約文書研究述評
新疆發(fā)現(xiàn)契約文書與中古西域的契約實(shí)踐
解放醫(yī)生與契約精神
《項(xiàng)鏈》里的契約精神(上)
賣地的契約