溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Visual Studio中怎么實(shí)現(xiàn)XML編程

發(fā)布時(shí)間:2021-08-10 16:13:41 來源:億速云 閱讀:241 作者:Leah 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Visual Studio中怎么實(shí)現(xiàn)XML編程,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、XML編程可以提高Visual Studio平臺(tái)中數(shù)據(jù)的處理能力。

與其把XML當(dāng)作一種可擴(kuò)展標(biāo)記語言,筆者更愿意把它叫做一種工具。這個(gè)工具可以提高Visual Studio平臺(tái)中數(shù)據(jù)的處理能力。正如文章開頭所說的,XML可以將后臺(tái)數(shù)據(jù)與表進(jìn)行分離。如此的話,兩者就可以分工合作。Visual Studio平臺(tái)只負(fù)責(zé)數(shù)據(jù)的邏輯處理,如邏輯運(yùn)算、條件判斷等等,而不需要關(guān)心其客戶端顯示的格式問題。而XML負(fù)責(zé)在客戶端如何顯示,如保留幾位小數(shù)、顯示哪些內(nèi)容、權(quán)限控制等等。術(shù)業(yè)有專攻,這么處理,就可以明顯提高Visual Studio平臺(tái)中應(yīng)用程序的數(shù)據(jù)處理能力。

二、使用XML編程工具時(shí)要注意安全問題。

雖然可以在Visual Studio平臺(tái)中實(shí)現(xiàn)XML編程語言,但是他們畢竟是不同的產(chǎn)品,其內(nèi)部的實(shí)現(xiàn)機(jī)制,如安全機(jī)制,有比較大的差異。為此要在這個(gè)Visual Studio平臺(tái)中使用XML工具的話,一些安全方面的問題需要引起程序開發(fā)人員的重視。

如在使用XML編輯器的時(shí)候,需要注意類的執(zhí)行權(quán)限。XML編輯器是Visual Studio中實(shí)現(xiàn)XML的主要途徑。通常情況下,這個(gè)XML編輯器在系統(tǒng)初次加載時(shí)會(huì)自動(dòng)下載。那么如何下載這個(gè)XML編輯器才是安全的呢?一般情況下可以通過HTTP的方式下載。但是由于HTTP協(xié)議自身的缺陷(其不會(huì)對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密),故有時(shí)候出于安全方面的考慮,會(huì)對(duì)其進(jìn)行限制。用戶通??梢栽赬ML編輯器、雜項(xiàng)工具選項(xiàng)對(duì)話框中,設(shè)置是否需要禁用HTTP下載。

如在調(diào)試時(shí),需要給XSLT調(diào)試程序配置合適的權(quán)限。XSLT是在Visual Studio平臺(tái)中調(diào)試XML可擴(kuò)展標(biāo)記語言的工具。XSLT調(diào)試程序會(huì)在沙盒型應(yīng)用程序中對(duì)XML腳本語言進(jìn)行XSLT轉(zhuǎn)換。在轉(zhuǎn)換的過程中,出于安全方面的考慮,程序人員往往需要根據(jù)樣式表所在處的位置來指定一系列的安全策略。如來自互聯(lián)網(wǎng)的樣式表通常來說存在一定的安全隱患,此時(shí)就需要對(duì)其權(quán)限進(jìn)行限制。而對(duì)于來自用戶電腦上或者企業(yè)共享服務(wù)器上的樣式表,相對(duì)安全,可以采取完全信任的權(quán)限運(yùn)行。針對(duì)樣式表的不同位置設(shè)置不同的權(quán)限,則可以在***程度上保障安全與效率方面的均衡。

三、如何在Visual Studio 中生成XML Web Services客戶端。

通過創(chuàng)建XML Web Services客戶端的形式來實(shí)現(xiàn)XML,是一個(gè)常用的便捷方法。XML Web Services客戶端是指使用SOAP消息與Web服務(wù)器進(jìn)行通信的組件和應(yīng)用程序。XML Web Services客戶端其實(shí)際的表現(xiàn)形式有兩種。一是通過網(wǎng)頁形式來實(shí)現(xiàn),即一個(gè)Web應(yīng)用程序;二是通過傳統(tǒng)的客戶端界面來實(shí)現(xiàn),即跟C/S模式下的客戶端類似,只是其采用的協(xié)議不同。那么該如何在Visual Studio平臺(tái)中建立XML Web Services客戶端呢?由于在Visual Studio中友好的集成了XML工具,所以要實(shí)現(xiàn)這個(gè)要求并不難。筆者認(rèn)為可以歸結(jié)為如下四個(gè)步驟來完成。

***步創(chuàng)建一個(gè)Web服務(wù)的代理類。在具體實(shí)現(xiàn)之前,程序開發(fā)人員要轉(zhuǎn)變一個(gè)觀念。即在實(shí)現(xiàn)XML編程工具的時(shí)候,其都是通過類來實(shí)現(xiàn)的。也就是說,VisualStudio中內(nèi)置了許多類,通過這些類來調(diào)用XML可擴(kuò)展標(biāo)記語言。了解這個(gè)前提,對(duì)于后面的開發(fā)具有很大的幫助。為此要?jiǎng)?chuàng)建XML Web Services客戶端的話,首先需要?jiǎng)?chuàng)建一個(gè)Web服務(wù)的代理類。

第二步在客戶端重對(duì)剛才創(chuàng)建的類進(jìn)行處理。如需要在客戶端代碼中引用剛才創(chuàng)建的代理類,并且需要?jiǎng)?chuàng)建這個(gè)代理類的一個(gè)實(shí)例。在引用代理類的時(shí)候,需要注意不同的客戶端類型,其引用的方式有所不同。在開發(fā)客戶端的時(shí)候,如果即要采用Web應(yīng)用程序作為客戶端,也需要傳統(tǒng)的C/S客戶端,那么在開發(fā)應(yīng)用程序中可能需要加入一個(gè)必要的判斷條件,以增強(qiáng)應(yīng)用程序的靈活性。舉一個(gè)簡單的例子,如開發(fā)一個(gè)郵件系統(tǒng)。其即可以直接通過網(wǎng)頁來訪問郵件,也可以通過outlook郵件客戶端來接收郵件。由于采取的客戶端類型不同,其代理類的引用方式也有所不同。此時(shí)服務(wù)器就需要判斷用戶采用的是哪種類型的客戶端。根據(jù)判斷的結(jié)果來確定所需要采用的引用方法。

第三步設(shè)置代理類的屬性與方法。一般情況下,對(duì)于代理類的屬性只要采用默認(rèn)的即可。但是有時(shí)候程序開發(fā)人員可能不允許匿名訪問。如一個(gè)電子商務(wù)系統(tǒng),一定要求用戶有合法的身份才可以訪問。此時(shí)就需要更改代理類的屬性(更改Credentials屬性)。這個(gè)屬性主要的作用就是用來獲取或者設(shè)置客戶端身份驗(yàn)證的安全憑據(jù)。如程序開發(fā)人員將這個(gè)屬性顯示設(shè)置為需要身份驗(yàn)證憑據(jù)時(shí),就會(huì)禁止用戶匿名訪問。設(shè)置完屬性之后,還需要對(duì)這個(gè)代理類調(diào)用與要與之進(jìn)行通信的Web服務(wù)設(shè)置相對(duì)應(yīng)的方法。這里需要注意一點(diǎn),跟代理類引用一樣,用戶所采用的客戶端類型不同,其方法也有所不同。對(duì)于有多個(gè)客戶端要求的應(yīng)用軟件來說,需要在設(shè)置的時(shí)候,加入一個(gè)判斷條件。根據(jù)用戶所采用的客戶端不同,對(duì)應(yīng)不同的方法。否則的話,無論是數(shù)據(jù)還是在顯示格式上,都會(huì)與實(shí)際的有所差異。

第四步就是對(duì)客戶端進(jìn)行調(diào)試。在調(diào)試的時(shí)候,除了要注意功能是否可以實(shí)現(xiàn)之外,還需要關(guān)注安全方面的問題。在上面的內(nèi)容中筆者強(qiáng)調(diào)過,需要根據(jù)XML樣式表的位置來設(shè)置不同的權(quán)限。這可以在保障安全性的同時(shí),提高應(yīng)用程序的效率。在調(diào)試與測試的過程中,有可能為出現(xiàn)“請(qǐng)求因HTTP狀態(tài)失敗:拒絕訪問”的錯(cuò)誤信息。很多新手在使用XML編程工具的時(shí)候,都會(huì)遇到這個(gè)問題。這主要是因?yàn)闄?quán)限上的錯(cuò)誤所造成的。如有可能是沒有將安全憑據(jù)傳遞給代理類的憑據(jù)緩存。

要解決這個(gè)問題的話,就需要對(duì)Windows身份驗(yàn)證模式進(jìn)行配置。如需要配置客戶端憑據(jù)并將這個(gè)憑據(jù)傳遞給使用各種形式的Windows身份驗(yàn)證的Web服務(wù)。身份驗(yàn)證是一項(xiàng)比較復(fù)雜的工作。在一個(gè)開發(fā)團(tuán)隊(duì)中,往往有專門的技術(shù)人員來負(fù)責(zé)這塊內(nèi)容,其主導(dǎo)這個(gè)應(yīng)用程序的整個(gè)安全機(jī)制。故具體采用哪種形式的身份認(rèn)證方式、如何才能夠安全的傳遞憑據(jù),這需要開發(fā)人員與安全技術(shù)人員共同協(xié)商實(shí)現(xiàn)。其一個(gè)主要的原則就是在保障安全的同時(shí),不要影響到應(yīng)用程序的性能。在實(shí)際工作中,經(jīng)常會(huì)遇到這種錯(cuò)誤。系統(tǒng)登陸的時(shí)候,速度特別慢。但是登陸以后,其速度就會(huì)有顯著的改善。這很大一方面原因,就是沒有在身份認(rèn)證與性能之間獲得一個(gè)平衡。這無形中就給用戶造成了不好的影響。

上述就是小編為大家分享的Visual Studio中怎么實(shí)現(xiàn)XML編程了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI