盡管簡(jiǎn)單的字符串有時(shí)足以作為監(jiān)控服務(wù)的響應(yīng),但通常需要更多的信息。例如,當(dāng)用戶單擊刷新按鈕時(shí),可能希望加載從服務(wù)調(diào)用返回的最后兩個(gè)評(píng)論。此時(shí)不是回發(fā)整個(gè)頁(yè)面,而可以調(diào)用服務(wù),從數(shù)據(jù)庫(kù)中檢索評(píng)論,再在頁(yè)面中以某種方式顯示它們。
為了說(shuō)明如何在監(jiān)控客戶端使用復(fù)雜的數(shù)據(jù),這個(gè)代碼示例返回了兩個(gè)硬編碼的Review實(shí)例。后面的幾個(gè)章節(jié)處理數(shù)據(jù)庫(kù)中的評(píng)論,從而使這個(gè)示例稱為真正的動(dòng)態(tài)的。現(xiàn)在,它只在客戶端顯示評(píng)論。
代碼建立了Review實(shí)例的一個(gè)通用集合?,F(xiàn)在,Rewview是一個(gè)簡(jiǎn)單的類,帶有兩個(gè)屬性——Id和Title。該集合用一個(gè)集合初始化器來(lái)填充,它添加了兩個(gè)Review實(shí)例,每個(gè)實(shí)例都用一個(gè)對(duì)象初始化器來(lái)創(chuàng)建。
在客戶端代碼中調(diào)用GetLatestRrviws方法時(shí)會(huì)返回一個(gè)可以迭代的Review實(shí)例集合。
這段代碼首先聲明了一個(gè)字符串,它保存評(píng)論的標(biāo)題。接著代碼迭代result變量中的評(píng)論。JavaScript不支持foreach,但使用標(biāo)準(zhǔn)的for循環(huán),很容易訪問(wèn)集合中的所有項(xiàng)。在for循環(huán)中,評(píng)論的標(biāo)題使用result來(lái)檢索,接著包裝到一對(duì)li標(biāo)記中,追加到字符串變量的末尾。最后,該字符串添加為Reviews元素的innerHtml,所以評(píng)論標(biāo)題最終顯示在項(xiàng)目列表中。
當(dāng)輸入這些代碼時(shí),注意,沒(méi)有為result對(duì)象提供IntelliSense。VS不知道result變量的實(shí)際類型,不能幫助我們找到Id和Title等屬性。
注意,這段代碼有點(diǎn)繁瑣。使用document和innerHTML,并不是編寫這類代碼的最佳方式。但現(xiàn)在,這應(yīng)足以說(shuō)明處理WCF服務(wù)返回的復(fù)雜對(duì)象的核心了。
一定要意識(shí)到,在JavaScript中使用Reviews對(duì)象不同于服務(wù)中使用的那個(gè)Reviewa對(duì)象。服務(wù)器上的VB.NET或C#代碼面向NET Framework,而JavaScript運(yùn)行在客戶端。要把對(duì)象放在客戶端,WCF把評(píng)論集合序列化為JSON——對(duì)象的字符串便是,可以直接在JavaScript代碼中使用。
在Planet Wrox項(xiàng)目中,Web服務(wù)只用于瀏覽器中的監(jiān)控客戶端頁(yè)面與服務(wù)器會(huì)話和交換數(shù)據(jù)。因此在這個(gè)站點(diǎn)中,服務(wù)器和客戶端都在相同的Web項(xiàng)目中——一個(gè)在客戶端執(zhí)行(調(diào)用服務(wù)器的JavaScript),另一個(gè)駐留在服務(wù)器端(Web服務(wù)本身)。從安全的角度來(lái)看,這是最簡(jiǎn)單的解決方案,因?yàn)閮烧弑舜讼嗷バ湃巍?/span>
如果要讓客戶端頁(yè)面與另一域上的Web服務(wù)通信,就可以把服務(wù)放在自己的站點(diǎn)上,調(diào)用遠(yuǎn)程Web服務(wù),而客戶端瀏覽器調(diào)用該服務(wù),該服務(wù)再調(diào)用遠(yuǎn)程服務(wù)。
★關(guān)于WorkWin公司電腦監(jiān)控軟件★
WorkWin的使命是打造Work用途的Windows 電腦系統(tǒng),有效規(guī)范員工上網(wǎng)行為,讓老板知道員工每天在做什么(監(jiān)控包括屏幕、上網(wǎng)在內(nèi)的一舉一動(dòng)),限制員工不能做什么(禁止網(wǎng)購(gòu)、游戲、優(yōu)盤等)。
WorkWin基于純軟件設(shè)計(jì),非常容易使用,無(wú)需添加或改動(dòng)任何硬件,使用一臺(tái)管理機(jī)監(jiān)控全部員工機(jī)電腦。歷經(jīng)南京網(wǎng)亞十余年精心打造,此時(shí)此刻每天都有成千上萬(wàn)企業(yè)電腦正在運(yùn)行WorkWin,選擇WorkWin選擇“贏”。
WorkWin監(jiān)控首頁(yè) 短視頻講解 下載免費(fèi)試用版
版權(quán)所有,南京網(wǎng)亞計(jì)算機(jī)有限公司 。本文鏈接地址: 與WCF交換復(fù)雜的監(jiān)控服務(wù)對(duì)象