胡曉宏 薛京麗 劉紅杰
摘要:為了克服C/S結(jié)梅的網(wǎng)絡(luò)考試平臺(tái)的缺點(diǎn),提出了在NET平臺(tái)上開(kāi)發(fā)在線考試系統(tǒng)的構(gòu)思,引入了反射,解決了窗體異步更新的問(wèn)題,利用WSE技術(shù)提高系統(tǒng)的安全性,開(kāi)發(fā)了基WebBrowser的富文本編輯器,解決了試題的編輯問(wèn)題。實(shí)踐結(jié)果表明,該系統(tǒng)方便快捷,穩(wěn)定可靠。
關(guān)鍵詞:在線考試;WSE;反射;WebSrowser;富文本編輯器
1引言
在網(wǎng)絡(luò)技術(shù)逐漸滲入社會(huì)生活各個(gè)層面的今天,傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個(gè)很重要的方向。基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)可以借助干遍布全球的Internet進(jìn)行,因此考試既可以在本地進(jìn)行,也可以在異地進(jìn)行,大大拓展了考試的靈活性。
2需求分析
在線考試系統(tǒng)的一般流程為:首先錄入試題和人員信息,然后組織考場(chǎng)和提供在線的考試平臺(tái),最后自動(dòng)閱卷。一般地由于錄入各種信息和閱卷是老師集中處理的,所以這部分一般采取C/S的架構(gòu),而在線考試平臺(tái)是面向廣大學(xué)員,所以一般采取B/s的架構(gòu)。

3關(guān)鍵技術(shù)
3.1窗體異步更新
由于錄入信息和閱卷是基于c/s的,WinForm應(yīng)用程序不可缺少的功能就是獲取數(shù)據(jù)和更新界面信息。因?yàn)閃inForm應(yīng)用程序是基于線程的,在窗體運(yùn)行時(shí)會(huì)創(chuàng)建一個(gè)本身的線程。所以當(dāng)程序在窗體線程內(nèi)連接遠(yuǎn)程服務(wù)器獲取數(shù)據(jù)的同時(shí)就會(huì)占用窗體的UI線程。造成界面的假死。為了解決窗體的異步更新。可以自己設(shè)計(jì)一個(gè)CustomBackGroundWorker。
實(shí)現(xiàn)原理:利用System.Threading來(lái)實(shí)例化一個(gè)線程,然后拋出線程初始化、執(zhí)行和執(zhí)行結(jié)束的委托。
為了給開(kāi)發(fā)人員提供更好的用戶操作界面,可以利用反射為開(kāi)發(fā)人員直接提供在線程中操作用戶界面的方法。
我們可以在線程中封裝利用反射來(lái)操作用戶界面的方法。開(kāi)發(fā)人員只需提供對(duì)象引用和對(duì)象的方法或?qū)傩悦Q就可以直接更新用戶界面。
3.2WSE
WSE(Web Services Enhancements)是微軟為了使開(kāi)發(fā)者通過(guò),NET創(chuàng)建出更強(qiáng)大,更好用的Web Services而推出的功能增強(qiáng)插件。
為了解決安全問(wèn)題我們采用了WSE來(lái)驗(yàn)證用戶的臺(tái)法性。使用用戶名和口令驗(yàn)證Web Services調(diào)用者身份:客戶端通過(guò)SOAP擴(kuò)展,在SOAP消息中加入用戶名和口令(明文或加密),發(fā)送給Web Services端;服務(wù)端接到消息后,同樣通過(guò)擴(kuò)展從消息上下文中得到用戶名和口令,再進(jìn)行身份驗(yàn)證和其他操作。
3.3試題編輯器
傳統(tǒng)的試題表現(xiàn)形式都是純文本形式的。在互聯(lián)網(wǎng)迅速發(fā)展的今天,網(wǎng)頁(yè)的表現(xiàn)形式已經(jīng)不能局限在純文本的范圍之內(nèi),所以試題的表現(xiàn)形式我們可以采用HTML的富文本形式的,里面有圖片等多媒體。通過(guò)測(cè)試發(fā)現(xiàn)微軟的WebBrowser能實(shí)現(xiàn)網(wǎng)頁(yè)的視圖編輯,也就是說(shuō)可以在WinForm中直接編輯網(wǎng)頁(yè)。因此開(kāi)發(fā)了一個(gè)基于Web-Browser的富文本編輯器。如圖1。
它有設(shè)計(jì)視圖和HTML視圖兩種形式,也就是說(shuō)用戶既可以像做網(wǎng)頁(yè)一樣編輯試韙,也可以直接往里面錄入HTML。
3.4試題導(dǎo)入導(dǎo)出
為了方便試題的錄入,系統(tǒng)添加了試題的導(dǎo)入導(dǎo)出功能。用戶只需要在Word中根據(jù)我們提供的模板錄入試題信息就可以一次導(dǎo)入成百上千的試題。導(dǎo)人模板如圖2所示。
實(shí)現(xiàn)原理:在Word中用戶把試題信息錄入到一個(gè)表格中,我們就要分析這個(gè)Word,我們需要的是這個(gè)試題的HTML,而Word的文件格式不是HTML的,因此在用戶上傳文件后首先要做的就是轉(zhuǎn)換Word的格式到HTML。為此本系統(tǒng)做了一個(gè)格式轉(zhuǎn)換類。
4結(jié)論
在線考試系統(tǒng)的功能包括試題和人員信息的錄入、在線考試。其一大亮點(diǎn)就是完美地解決了富文本試題的實(shí)現(xiàn)方案,不再局限于純文本的傳統(tǒng)試題形式之內(nèi)。使試題不僅僅包含文字,還能包括圖片、音頻、視頻等內(nèi)容。并且它的方便快捷的導(dǎo)入導(dǎo)出方案,更為只需了解Word的用戶提供了試題錄入的方法。