版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、分布式應(yīng)用本章介紹企業(yè)發(fā)展中常用的兩種分布式溶解熱(Web服務(wù)和. NET Remoting )。 由于分布式計(jì)程儀方案的開(kāi)發(fā)很復(fù)雜,本章的例子對(duì)邏輯性非常簡(jiǎn)單,在結(jié)構(gòu)上也很完整。 讀者閱讀之后,可以使用Web服務(wù)或者. NET Remoting重新創(chuàng)建消息簿的示例,并且嘗試將其置于多個(gè)服務(wù)器的頂部。23.1分布式應(yīng)用概述分布式應(yīng)用是指分布在多個(gè)物理位置的應(yīng)用程序。 讀者是否有可能詢問(wèn)一個(gè)應(yīng)用程序分布在不同位置(不同的服務(wù))的原因,理由如下負(fù)荷壓力在大型系統(tǒng)中,模組較多,云同步產(chǎn)生的量較多,如果只搭載1臺(tái)伺服器,則壓力過(guò)大,系統(tǒng)經(jīng)常會(huì)下降。 在大型系統(tǒng)中,可以在水平和垂直方向上劃分系統(tǒng),并將這
2、些模塊分布在不同的服務(wù)中。 將一個(gè)應(yīng)用程序縱向分割為Web演示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,可以使用三個(gè)獨(dú)立的服務(wù)來(lái)男公關(guān)不同的層1 .網(wǎng)站服務(wù)器。 男公關(guān)網(wǎng)頁(yè)表現(xiàn)層,壓力主要在于網(wǎng)頁(yè)請(qǐng)求和資源調(diào)用。2 .應(yīng)用服務(wù)器。 男公關(guān)業(yè)務(wù)邏輯層,壓力主要在于商業(yè)邏輯的訂正。3 .數(shù)據(jù)庫(kù)服務(wù)器。 男公關(guān)數(shù)據(jù)層(數(shù)據(jù)庫(kù)),壓力主要作用于數(shù)據(jù)處理。橫方向的區(qū)分按每個(gè)模塊進(jìn)行區(qū)分,經(jīng)過(guò)這樣的“切肉”式的區(qū)分,如圖23-1所示,系統(tǒng)整體的壓力分布在不同的服務(wù)器上。圖23-1“肉切丁”式區(qū)分系統(tǒng)當(dāng)然,也可以將多個(gè)模塊的業(yè)務(wù)邏輯層放在同一物理服務(wù)器上,使多個(gè)模塊可以共享一個(gè)數(shù)據(jù)庫(kù)。 我們?cè)谥谱饔?jì)程儀程序時(shí)應(yīng)該考慮一定的伸
3、縮性,這里的服務(wù)器是廣義的概念。提供服務(wù)如果將大型系統(tǒng)劃分為多個(gè)模塊,并且需要模塊與模塊之間的通訊,則必須將這些個(gè)關(guān)聯(lián)組織為服務(wù)。 與使用組件的查詢密碼重用相比,使用服務(wù)的功能重用更加先進(jìn)。 例如,如果一個(gè)系統(tǒng)中的三個(gè)模塊都需要通訊端口功能,則一種方法是使通訊端口功能成為單獨(dú)的組件,然后使三個(gè)模塊引用該組件,而三個(gè)模塊分別執(zhí)行修正運(yùn)算的另一種方法是, 使通訊端口功能成為獨(dú)立的服務(wù),這些個(gè)3個(gè)模塊直接使用該服務(wù)取得數(shù)據(jù),全部的補(bǔ)正操作在一個(gè)地方進(jìn)行,后者比前者好得多。服務(wù)不僅可以提供給公司內(nèi)部,也可以提供給公司外部。 如果其他鐘點(diǎn)工人員需要使用通訊端口服務(wù),則不希望直接發(fā)布所有信息。 在這種情況
4、下,組件方式是不合理的。 通過(guò)發(fā)布服務(wù)、批準(zhǔn)和驗(yàn)證服務(wù)的用戶,可以確保鐘點(diǎn)工人員能夠獲得所需的數(shù)據(jù),并且不會(huì)公開(kāi)核心數(shù)據(jù)。本章介紹如何使用Web服務(wù)和. NET Remoting實(shí)現(xiàn)分布式應(yīng)用。 我們雖然沒(méi)有過(guò)多討論那些反應(yīng)歷程和細(xì)節(jié),但只要用簡(jiǎn)單的例子讓你自己實(shí)現(xiàn)分散,就可以查找更多的從此往后資料,系統(tǒng)地學(xué)習(xí)。Web服務(wù)通過(guò)消息進(jìn)行通訊,消息在調(diào)用方和服務(wù)方之間傳遞。 NET Remoting是基于對(duì)象的,因此可以通過(guò)網(wǎng)絡(luò)調(diào)用對(duì)象的方法。 正因?yàn)槭沁@個(gè)本質(zhì)的差異,所以Web服務(wù)和. NET Remoting (由. NET Remoting這個(gè)單詞可以看出remoting只是. net中的解
5、決方法)的特性有很大差異。網(wǎng)絡(luò)服務(wù). net遠(yuǎn)程跨平臺(tái)是與. NET類型緊密連接noyes效率低通訊協(xié)議http/TCP/IPC. NET Remoting的優(yōu)點(diǎn)是使用TCP連接協(xié)議進(jìn)行通訊以提高性能。 如果系統(tǒng)完全基于. NET平臺(tái),并且分布在同一有線局域網(wǎng)中, NET遠(yuǎn)程非常適合。 另一方面,由于Web服務(wù)使用統(tǒng)一的消息進(jìn)行通訊,如果我們的應(yīng)用程序需要跨平臺(tái)提供服務(wù),并且效率要求不高,那么Web服務(wù)是一個(gè)很好的選擇??赡軙?huì)完全吃不透Web服務(wù)和. net遠(yuǎn)程是什么。 沒(méi)關(guān)系。 接下來(lái)請(qǐng)看。 由于VS2005的強(qiáng)大集成驅(qū)動(dòng)電路,分布式應(yīng)用的設(shè)置和開(kāi)發(fā)不再困難。 感受分散的魅力吧23.2網(wǎng)絡(luò)服
6、務(wù)23.2.1創(chuàng)建web服務(wù)1 .首先,創(chuàng)建一個(gè)新的空溶解熱,如圖23-2所示。2 .在溶解熱快捷支重輪中右鍵喀嚦聲之前創(chuàng)建的溶解熱,選擇“添加”“新建站點(diǎn)”命令,如圖23-3所示,創(chuàng)建新的ASP.NET Web服務(wù)項(xiàng)目工程。圖23-2新的空溶解熱圖23-3新的ASP.net網(wǎng)絡(luò)服務(wù)當(dāng)您打開(kāi)位于App_Code目錄查詢上的Service.cs文件時(shí),您會(huì)看到集成驅(qū)動(dòng)電路自動(dòng)創(chuàng)建了數(shù)字大板塊方法。使用系統(tǒng);使用系統(tǒng);網(wǎng)頁(yè);使用系統(tǒng). web .服務(wù);使用系統(tǒng). web .服務(wù).協(xié)議;“web服務(wù)(名稱空間= 3358 / )網(wǎng)絡(luò)服務(wù)綁定(conforms to=WSI配置文
7、件.基本配置文件1 _1)公共類服務(wù)3360系統(tǒng). web .服務(wù). web服務(wù)舉止公共服務(wù)()舉止以下網(wǎng)絡(luò)方法公共字符串幫助世界()?;貜?fù),回復(fù),回復(fù)。以下以下 web method property表示HelloWorld方法只返回字符串的方法。 如圖23-4所示,直接按下CTRL F5牛鼻子執(zhí)行Web服務(wù),而不更改查詢密碼。請(qǐng)注意,服務(wù)名稱Service中的服務(wù)下面有一個(gè)HelloWorld方法。 此外,建議更改差動(dòng)奧爾特的名字空間。 關(guān)閉頁(yè)面,修改服務(wù)名稱和名字空間“web服務(wù)(名稱空間= 3358 / )改為:web服務(wù)(名稱=我的服務(wù)、描述= web服務(wù)說(shuō)明)
8、、名稱空間= 3358 www。我的/ 重新運(yùn)行服務(wù)時(shí),如圖23圖5所示,可以看到服務(wù)名、服務(wù)說(shuō)明、名字空間已成功變更。圖23-4執(zhí)行Web服務(wù)圖23-5服務(wù)名、服務(wù)說(shuō)明及服務(wù)名字空間的變更當(dāng)您喀嚦聲HelloWorld網(wǎng)絡(luò)鏈接時(shí),系統(tǒng)將提示您喀嚦聲“調(diào)用”按鈕來(lái)測(cè)試該方法,如圖23-6所示。當(dāng)喀嚦聲“調(diào)用”按鈕時(shí),方法返回的結(jié)果如圖23-7所示。圖23-6測(cè)試對(duì)方方法的圖23-7的Web服務(wù)調(diào)用的結(jié)果您可以看到Web服務(wù)使用XML格式中的數(shù)據(jù)返回操作結(jié)果。5 .如果測(cè)試服務(wù)沒(méi)有問(wèn)題,請(qǐng)使用ASP.NET應(yīng)用程序調(diào)用Web服務(wù)。 以前使用VS 2005附帶的開(kāi)發(fā)服務(wù)器執(zhí)行
9、Web服務(wù),所以需要首先使用集成智能分發(fā)Web服務(wù)。 在集成智能下,創(chuàng)建一個(gè)指示W(wǎng)eb服務(wù)路徑的新虛擬目錄查詢。 假設(shè)虛擬目錄查詢名為testWeb服務(wù),則可以使用以下地址網(wǎng)站數(shù)據(jù)庫(kù)到該web服務(wù):http:/本地主機(jī)/測(cè)試網(wǎng)絡(luò)服務(wù)/服務(wù). asmx6 .右喀嚦聲溶解熱,創(chuàng)建新的ASP.NET應(yīng)用程序TestWeb,右喀嚦聲網(wǎng)站,選擇“添加Web引用”(參見(jiàn)圖23-8 )。圖23-8添加web參考通過(guò)在URL地址欄中鍵入Web服務(wù)的地址或者直接喀嚦聲“原始苯基苯乙烯酮計(jì)算機(jī)上的Web服務(wù)”網(wǎng)絡(luò)鏈接,可以導(dǎo)航到在先所建立的Web服務(wù)。 在Web引用名稱字符框中鍵入TestWS,如圖23-9所示。
10、7 .當(dāng)喀嚦聲“添加引用”按鈕時(shí),可以看到集成驅(qū)動(dòng)電路自動(dòng)添加了Web服務(wù)的本代理,如圖23-10所示。圖23-9Web服務(wù)成功找到在圖23-10集成驅(qū)動(dòng)電路中創(chuàng)建的web服務(wù)代理更改Default.aspx中Page_Load的事件處理器方法以調(diào)用Web服務(wù)。對(duì)象發(fā)送器、事件發(fā)生器、事件加載舉止testws.my服務(wù)=新測(cè)試. my服務(wù)();response.write (服務(wù). hello world () );以下令人吃驚的是,對(duì)Web服務(wù)的調(diào)用和對(duì)本地類庫(kù)的調(diào)用沒(méi)有任何區(qū)別,集成驅(qū)動(dòng)電路將Web服務(wù)的XML定義自動(dòng)封裝為方法。 其中TestWS是在添加Web引用時(shí)輸入的Web引用名稱,
11、而MyService是在Web服務(wù)中定義的名稱。web服務(wù)(名稱= my service ,描述web服務(wù)說(shuō)明,名稱空間= /)你可能考慮了問(wèn)題。 現(xiàn)在,我們的Web服務(wù)是為了本地測(cè)試而部署的,但是URL也會(huì)更改,因?yàn)樵诎l(fā)布時(shí)此服務(wù)可能部署到其他服務(wù)器。 那么,要隨時(shí)修改這個(gè)URL的話是怎么破嗎? 現(xiàn)在,打開(kāi)Web.config吧。 集成驅(qū)動(dòng)電路早就想到了這一點(diǎn),在appSettings節(jié)點(diǎn)下添加了服務(wù)的URL。9 .現(xiàn)在可以打開(kāi)網(wǎng)站確認(rèn)服務(wù)是否被正常調(diào)用了。 如圖23-11所示,頁(yè)面上顯示“Hello World”。圖23-11使用ASP.net
12、站點(diǎn)調(diào)用Web服務(wù)23.2.2 HTTP-GET方式的Web服務(wù)您可能想要使用URL直接網(wǎng)站數(shù)據(jù)庫(kù)到Web服務(wù)。 HTTP-GET連接協(xié)議的Web服務(wù)能滿足你的要求。1 .為web服務(wù)創(chuàng)建Web.config配置文件。現(xiàn)在,我們添加了對(duì)HTTP-GET的連接協(xié)議,以便Web服務(wù)能夠通訊端口基于HTTP-GET的網(wǎng)站數(shù)據(jù)庫(kù)。 同樣,也可以從配置文件中刪除一些連接協(xié)議。 請(qǐng)注意,開(kāi)啟HTTP-GET方式會(huì)降低Web服務(wù)的保密工作。 重新編譯Web服務(wù)。2 .添加web服務(wù)的web方法膩?zhàn)臃邸?web method (描述=修正兩個(gè)整數(shù)之和 ) 公共插件(插入a、插入b )舉止返回ab;以下此方法接
13、受兩個(gè)整數(shù)殘奧參數(shù),并返回兩個(gè)殘奧參數(shù)的和。 另外,在此對(duì)方法進(jìn)行了說(shuō)明。3 .因?yàn)閣eb服務(wù)變更了,所以ASP.NET應(yīng)用程序能否自動(dòng)感知到這個(gè)變更呢? 要更新在線代理類,必須更新Web引用。 如果右喀嚦聲TestWS文件夾,則可以選擇“更新Web引用”,如圖23-12所示。打開(kāi)Default.aspx,并在頁(yè)面中添加用于使用HTPP-GET方法調(diào)用Web服務(wù)的Add方法的網(wǎng)絡(luò)鏈接。 Get方法調(diào)用讀取配置文件以獲取Web服務(wù)的路徑,然后添加要調(diào)用的方法名和殘奧儀表。5 .打開(kāi)頁(yè)面,喀嚦聲網(wǎng)絡(luò)鏈接,結(jié)果如圖23-13所示。圖23-12更新Web參照?qǐng)D23-12以http-get方式調(diào)用Web服務(wù)23.2.3異步調(diào)用網(wǎng)絡(luò)服務(wù)假設(shè)統(tǒng)一的操作需要20秒的通訊端口Web服務(wù)。 調(diào)用此操作時(shí),是否只有等待頁(yè)面才能執(zhí)行其他本地操作? 當(dāng)然,不能通過(guò)異步調(diào)用Web服務(wù)來(lái)解決這個(gè)問(wèn)題。1 .更改web服務(wù),添加另一種方法。 web method (描述=執(zhí)行時(shí)間為2秒的方法 ) 公共字符串長(zhǎng)工作()舉止system.threading.thread.sleep (2000 );return 普計(jì)程儀制作的樂(lè)趣;以下此方法等待線程兩秒鐘,并返回執(zhí)行結(jié)果。 因此,這個(gè)方法大約需要2秒。2 .編譯Web服務(wù)并更新網(wǎng)站的Web引用。在Default.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 助聽(tīng)器產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 襯衫袖扣項(xiàng)目運(yùn)營(yíng)指導(dǎo)方案
- 區(qū)塊鏈與人工智能融合行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 寵物用牙刷產(chǎn)品供應(yīng)鏈分析
- 噴霧美黑服務(wù)行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 多處理器芯片產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 電耦合器項(xiàng)目營(yíng)銷計(jì)劃書(shū)
- 電子香煙電池充電器市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 羊毛剪市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 乳罩產(chǎn)品供應(yīng)鏈分析
- 2023醫(yī)療質(zhì)量安全核心制度要點(diǎn)釋義(第二版)對(duì)比版
- 攝影器材采購(gòu)合同模板
- 增補(bǔ) 金額 合同模板
- 部編語(yǔ)文二學(xué)年上冊(cè)第四單元集體集備及教材解讀
- 4.2 在實(shí)踐中追求和發(fā)展真理 課件高中政治統(tǒng)編版必修四哲學(xué)與文化
- (婦幼健康項(xiàng)目)危重新生兒救治項(xiàng)目理論及技能操作題庫(kù)(供參考)
- 高職護(hù)理專業(yè)《外科護(hù)理技術(shù)》說(shuō)課稿
- 信息化系統(tǒng)安全運(yùn)維服務(wù)方案三篇
- 全國(guó)職業(yè)院校技能大賽高職組(化工生產(chǎn)技術(shù)賽項(xiàng))省選拔賽考試題庫(kù)(含答案)
- 2024年中央企業(yè)全面質(zhì)量管理知識(shí)競(jìng)賽考試真題庫(kù)(含答案)
- 2022版義務(wù)教育(道德與法治)課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
評(píng)論
0/150
提交評(píng)論