已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ASP頁面的客戶端開發(fā)環(huán)境ASP是直接依靠Microsoft互聯(lián)網(wǎng)信息服務(wù)(IIS)能力的網(wǎng)絡(luò)技術(shù)。為此,非常少的產(chǎn)品嘗試提供ASP-to-HTML交換器。伴隨著這些交換器的問題是您必須與網(wǎng)絡(luò)服務(wù)器一道工作去觸發(fā)ASP分析器并發(fā)現(xiàn)其內(nèi)在的可利用對(duì)象。當(dāng)從開發(fā)層雙擊超文字標(biāo)記語言時(shí),簡單地請(qǐng)求瀏覽器檢索和反饋文件的原始代碼。然而,當(dāng)您在開發(fā)工具雙擊一個(gè)ASP文件時(shí),您不可能請(qǐng)求瀏覽器翻譯它成HTML。ASP交換器的使用原因ASP對(duì)HTML交換器也許不是數(shù)以萬計(jì)程序員夢寐以求的工具。然而,我可以構(gòu)想出至少兩三個(gè)這樣的情景,這樣的工具是非常得心應(yīng)手的。第一個(gè)情景是由羅伯特Hess在2000年4月在網(wǎng)Q&A專欄提及的。假設(shè)您在一個(gè)頻繁地被訪問的網(wǎng)站有幾個(gè)要求與一個(gè)數(shù)據(jù)庫交互作用的頁面。把他們當(dāng)作ASP頁看起來是非常完美的解答。然而,如果數(shù)據(jù)庫不是非常揮發(fā)性,并且頁面的輸出不依賴用戶的輸入,您可以很容易地采取簡單的老式HTML以達(dá)到很好的表現(xiàn)。例如,供應(yīng)商名單大概是您一年僅僅更新幾次的數(shù)據(jù)。在訪問時(shí)更新名單,每次發(fā)出請(qǐng)求,靜態(tài)超文字標(biāo)記語言頁都會(huì)引起較少的重置嗎?ASP-TO-HTML工具能被運(yùn)用作為ASP頁編譯器。您編寫他們作為服務(wù)器端資源,然而,當(dāng)您認(rèn)識(shí)到他們不依賴特別執(zhí)行時(shí)間的情況時(shí),您可以把他們變換成靜態(tài)HTML頁的二者之一,asp或html版本。當(dāng)我面對(duì)這個(gè)課題時(shí),讓我指出在一個(gè)在ASP頁管理中的重大改善在IIS5.0直到IIS4.0都是有效的,所有資源與asp引伸都是受解析支配的,他們是否包含了script代碼。在IIS5.0中,當(dāng)IIS檢查時(shí),后退在裝載ASP分析器之前被消除。當(dāng)您需要查看ASP頁離線時(shí),ASP-to-HTML交換器也是得心應(yīng)手的。例如,客戶最近詢問了我關(guān)于使用單一開發(fā)環(huán)境來建立網(wǎng)站和CDs的可能性。我首先考慮使用能夠在網(wǎng)絡(luò)或在一個(gè)地方瀏覽器查看的靜態(tài)HTML頁,但想法很快駁回了盡管包含了相當(dāng)數(shù)量的內(nèi)容和復(fù)雜性。并且,我的客戶不可能保證在用戶的機(jī)器使用任何特殊的軟件配置,并且可能為CDs供應(yīng)的唯一的產(chǎn)品是MicrosoftInternetExplorer或一臺(tái)常規(guī)瀏覽器。ASP看似自然選擇為項(xiàng)目的服務(wù)器端,但對(duì)于CD會(huì)怎么樣呢?要使ASP離線工作,不用網(wǎng)絡(luò)服務(wù)器,您需要提取所有編碼塊并且處理他們。另外,這個(gè)模塊將必須提供一個(gè)被模仿的ASP對(duì)象模型和收集簡單的HTML文本的部分。然后它將必須匯集其它全部,結(jié)合靜態(tài)HTML代碼與被處理的script輸出。在這個(gè)專欄,我將談?wù)撾x線ASP檢測和一些執(zhí)行細(xì)節(jié)信息的結(jié)構(gòu)。特別是,我將顯示您如何認(rèn)清ASP反應(yīng)對(duì)象的行為。下個(gè)月,我將完成代碼,覆蓋請(qǐng)求和服務(wù)器加上其他相關(guān)題目。這個(gè)月的代碼顯示這種方法的潛力并且與典型的ASP頁一起使用,雖然它不全面。因?yàn)樗麄兊牡胤奖尘?,沒有必要的話我不會(huì)報(bào)道其他ASP對(duì)象例如對(duì)話或應(yīng)用。瀏覽器的角色要認(rèn)清ASP,當(dāng)工作離線時(shí),您需要一點(diǎn)來自瀏覽器的幫助。基本上,瀏覽器一定能查出它將登陸的頁是否是URL或是地方路徑,并且它是否包含asp引伸。如果用戶在訪問URL,瀏覽器做他通常能做到的。否則,它將訪問一個(gè)常用模塊來解析ASP文件的內(nèi)容。此外,瀏覽器是被包含的,當(dāng)將訪問的ASP頁包含表單和超鏈接時(shí)。(我將進(jìn)一步談?wù)撨@個(gè)在下個(gè)月。)盡管有這些要求,離線處理ASP頁您需要瀏覽器的一個(gè)自定義版本。當(dāng)subclassing的InternetExplorer或NetscapeCommunicator可能的話,我建議您使用現(xiàn)有的瀏覽器技術(shù)寫一個(gè)全新的瀏覽器例如微軟瀏覽控制器。在這里我將使用VisualBasic,您也能使用C+。作為一個(gè)好的開頭在C+,您能嘗試MFCIE或ATLBrowser樣品,都來自最新的SDK平臺(tái)。為例證,我劃分了客戶區(qū)域成三個(gè)塊:一為實(shí)際HTML,一個(gè)為原始的ASP文本和一個(gè)為擴(kuò)展的HTML文本。在表單的初始化期間,一個(gè)新的CAspParser對(duì)象被創(chuàng)造并且被適當(dāng)?shù)卦O(shè)置運(yùn)作。一旦您點(diǎn)擊提交按鈕,瀏覽器查出您是否是ASP頁或HTTP,并且相應(yīng)地做出反映。所有邏輯在CAspParser類里隱藏,展示出的三個(gè)公開作用:初始化,SetScriptControl和ParseTextToFile。初始化確定寫腳本的環(huán)境被適當(dāng)?shù)爻跏蓟⑶覝?zhǔn)備工作。通過SetScriptControl,類接受腳本環(huán)境的運(yùn)作函數(shù)(在以后會(huì)更多)。ParseTextToFile解析特定ASP文件的內(nèi)容并且創(chuàng)造輸出流?;旧?,分析器讀ASP文件的整體內(nèi)容后做記錄然后輸出。它找出“%”,然后復(fù)制在“”。命令文本各自地被提取并且被處理。所有輸出被添加到響應(yīng)緩沖區(qū)腳本代碼在ASP頁的內(nèi)容中可能涉及到形成ASP對(duì)象模型的內(nèi)在對(duì)象。列出這些知名的對(duì)象,IIS負(fù)責(zé)形成這些對(duì)象:ASPError和ObjectContext有效的namespace,當(dāng)分析器處理各種各樣的代碼塊的內(nèi)容時(shí)。要獲得在網(wǎng)絡(luò)服務(wù)器之外運(yùn)作的ASP分析器,您應(yīng)該為這些對(duì)象提供替代品,意味著建立客戶端ASP對(duì)象模型??蛻舳薃SP對(duì)象模型當(dāng)工作在HTTP時(shí),Web應(yīng)用程序的其中一個(gè)問題是不能有效的維護(hù)狀態(tài)。狀態(tài)是把多樣性和有特殊用戶的對(duì)象聯(lián)系在一起的能力。一個(gè)存放各自設(shè)置和資源的工具可能解決這個(gè)問題。這是會(huì)話和應(yīng)用對(duì)象提供的,雖然在不同的層次。但您在客戶端ASP對(duì)象模型中不需要總是體現(xiàn)這個(gè)特點(diǎn)。實(shí)際上,本地的ASP頁一次被一個(gè)用戶訪問,并且狀態(tài)管理是一個(gè)比較不重要問題。來自一個(gè)離線ASP檢測者,關(guān)鍵ASP對(duì)象是請(qǐng)求與反應(yīng),因?yàn)樗麄兲峁┗镜墓δ芡ㄟ^頁面與其他地方進(jìn)行交流。您是否需要實(shí)施所有或部分標(biāo)準(zhǔn)方法依賴于你建立的特殊工程。雖然ASP與IIS和微軟交易服務(wù)(MTS)和COM+環(huán)境緊緊集成,這不意味著您不能使用一個(gè)成為一體的基于ASP的方法為產(chǎn)品的運(yùn)行環(huán)境提供內(nèi)容通過不同的媒體(象網(wǎng)絡(luò)和CDs)。離線頁被消耗在沒有網(wǎng)絡(luò)服務(wù)器的干預(yù)下通常會(huì)變的更加簡單,并且不需要一個(gè)網(wǎng)上Web應(yīng)用程序的所有特點(diǎn)。憑我的個(gè)人經(jīng)驗(yàn),我建議您實(shí)施一個(gè)最小的特性集合(相似于我在這兒的談?wù)摰哪切?然后擴(kuò)大集合,當(dāng)您的頁需要支持額外ASP的特點(diǎn)時(shí)。我部署了我的項(xiàng)目的第一個(gè)版本的反應(yīng)和請(qǐng)求對(duì)象。特別是,我只執(zhí)行反應(yīng)對(duì)象的書寫方法和為HTML內(nèi)容類型。請(qǐng)求只體現(xiàn)了QueryString結(jié)果集。在第二步,我增加了為反應(yīng)提供的支持,請(qǐng)求的表單和ServerVariables結(jié)果集。以后,我也增加了某種特殊性能例如新的環(huán)境變量和新的獨(dú)自離線對(duì)象,包括寫Script腳本,F(xiàn)ileSystemObject。關(guān)鍵問題有關(guān)您怎么模仿反應(yīng)或請(qǐng)求對(duì)象,并且怎么運(yùn)行ASP文件包含的所有腳本代碼。要執(zhí)行腳本代碼,您或者可以利用微軟腳本控制一個(gè)下載的組分(參見/scripting),或者使用未加工的窗口腳本COM接口??碋xtremeC+專欄,在1997年8月微軟互聯(lián)網(wǎng)開發(fā)商發(fā)表的.因?yàn)槲以赩isualBasic開發(fā)了一種應(yīng)用,使用腳本控制是自然選擇。腳本控制ScriptControl是ActiveX控制沒有一個(gè)包含為對(duì)話需要的有腳本語言分析器的所有Windows腳本接口界面。它有一個(gè)語言集合通過他你可以選擇一門語言。VBScript和JScript是二個(gè)常用的選擇,但,假設(shè)您有一個(gè)復(fù)雜的分析器,所有腳本語言都是優(yōu)良的。當(dāng)要使用ScriptControl時(shí)您需要做三件事:設(shè)定語言,增加多個(gè)對(duì)象,你需要的是scriptnamespace,并且執(zhí)行腳本代碼。在我的特殊編輯瀏覽器,我設(shè)置了語言對(duì)于VBScript在表單裝載事件期間。同時(shí),我創(chuàng)造我想要的可看見的在腳本引擎運(yùn)行期間所有對(duì)象的函數(shù)。命名的項(xiàng)目在運(yùn)行期間是可見的是保證進(jìn)一步解釋的概念。整體命名項(xiàng)目的建立形成thescriptsnamespace.Windows腳本分析器(例如微軟分析器為VBScript)接受已知的名字詞匯在起動(dòng)的時(shí)候。這本字典包含語言的主題詞和全球性資源例如變量、對(duì)象和子程序。在每個(gè)名字之后(例如MsgBox)有一可編程序的個(gè)體它是一個(gè)有具體作用分析器或包含COM對(duì)象的方法。您能增加新的名字到這namespace。更有,ScriptControl的接口(Windows腳本編程接口)允許您做這些用一個(gè)非常得心應(yīng)手的方式。通過AddObject方法,ScriptControl增加一個(gè)命名項(xiàng)目對(duì)scriptnamespace產(chǎn)生響應(yīng)。從那時(shí)起,它被認(rèn)為語言項(xiàng)目。每個(gè)訪問對(duì)這個(gè)元素自動(dòng)地尋址對(duì)您指定作為AddObject的第二個(gè)論據(jù)的COM對(duì)象。那些二條線是CAspParser的一部分。初始化方法,并且m_objScriptCtl是為腳本處理使用ScriptControl的事例。一旦您執(zhí)行那些線程,您通過ScriptControl的那個(gè)函數(shù)運(yùn)行的所有腳本代碼作為主鍵并且使用MyASP與它一起使用。它是一個(gè)非常通用的技術(shù)在寫腳本的時(shí)候。有時(shí),這是允許IIS應(yīng)用真實(shí)的ASP對(duì)象模型在服務(wù)器端ASP頁的腳本的同一個(gè)技術(shù)。訪問在引用當(dāng)瀏覽器的主要表單準(zhǔn)備解析和顯示ASP代碼時(shí),它叫ParseTextToFile方法,采取二個(gè)文件名字:來源ASP文件和目標(biāo)HTML文件。當(dāng)方法成功地時(shí)返回,表單簡單地提交到新制的本地超文字標(biāo)記語言頁。CAspParser類通過設(shè)置過程語言對(duì)VBScript(這是必要的,因?yàn)镾criptControl已經(jīng)默認(rèn)為它)和增加MyASP的一個(gè)全新的函數(shù)初始化腳本控制。反應(yīng)對(duì)象namespace。然后通過對(duì)方法ParseTextToFile控制。它接受ASP文件的名字,核實(shí)它有一個(gè)ASP引伸,并且讀所有它的內(nèi)容。我使用了腳本編寫。使用CreateFileAPI或其他輸入/輸出技術(shù)可能給您更好的表現(xiàn)。字符串與所有ASP內(nèi)容在塊被解析。所有文本在這些標(biāo)志外面被寫到反應(yīng)對(duì)象。它積累文本在內(nèi)部字符串緩沖區(qū)。這樣,被模仿的反應(yīng)對(duì)象儲(chǔ)存所有的輸出,而真正的ASP反應(yīng),默認(rèn)情況下中間轉(zhuǎn)換被打開,默認(rèn)情況下,而它在IIS的更早的版本被關(guān)閉了。清除的方法用于清除您通過重覆訪問的所有緩沖區(qū)的文本。它在真正的ASP對(duì)象模型做您用于在服務(wù)器的這個(gè)明白方法確切地扮演同一個(gè)角色?,F(xiàn)在我們仔細(xì)的審視被模仿的ASP反應(yīng)對(duì)象的實(shí)施。進(jìn)一步說明COM的語言中立地位和避免寫的問題在VisualBasic反對(duì)以方法名字和一樣一些語言主鍵(例如寫或末端),我決定使用ATL和VisualC+寫MyASP對(duì)象。MyASP的實(shí)施。反應(yīng)對(duì)象是直接的.MyASP對(duì)象需要展示方法與匹配方式在您的客戶端ASP頁使用他們的署名。如果您使用客戶端ASP引擎在具體客戶端頁運(yùn)轉(zhuǎn),則沒有您的特殊原因能使用仿造ASP的反應(yīng)的一個(gè)習(xí)慣對(duì)象。您是寫一個(gè)完全地常用對(duì)象與您更喜歡的編程接口。當(dāng)您寫著在網(wǎng)絡(luò)將使用的雙重頁并且當(dāng)?shù)卦贑D,需要仿造ASP內(nèi)在對(duì)象的署名出現(xiàn)。當(dāng)您在MyASP響應(yīng)激發(fā)寫方法時(shí)。您通過的文本增加了一個(gè)內(nèi)部變量準(zhǔn)備返還給訪問者的內(nèi)部成員變量。這行為確切地模仿了ASP反應(yīng)對(duì)象在內(nèi)部所做的,當(dāng)緩沖區(qū)打開時(shí)。清除方法清空緩沖區(qū)。MyASP也實(shí)施輸出緩沖區(qū)的當(dāng)前內(nèi)容的ResponseBuffer的輸出。這輸出在相似情況下運(yùn)作,ASP充足的方法。每次您讀它,清除它的內(nèi)容。IIS設(shè)法傳遞被變換的文本到瀏覽器通過HTTP。結(jié)果,沒有需要安排內(nèi)部緩沖區(qū)可用腳本在ASP頁。實(shí)際上,ASP反應(yīng)對(duì)象沒有一個(gè)方法或輸出(例如ResponseBuffer)退還在內(nèi)部緩沖區(qū)積累的文本。在這客戶端模仿,瀏覽器需要從對(duì)象得到被變換的文本,并且輸出比一個(gè)子程序有用的Flush.。終于,結(jié)束方法設(shè)置內(nèi)部變量錯(cuò)誤。這變量通過CanContinue輸出被展示和用于停止管理解析ASP文本的循環(huán)。您能看到,MyASP的編程接口。反應(yīng)對(duì)象是相似的,但ASP反應(yīng)對(duì)象是不相同的。在某種程度上邏輯在二個(gè)對(duì)象之后分享,但它明顯地不同作為客戶運(yùn)作的上下文,并且反應(yīng)的服務(wù)器端編輯要求。您能看常用瀏覽器和InternetExplorer以相同的方式瀏覽我簡單的頁面。如果您在包含指定的ASP頁并且雙擊項(xiàng)目的文件夾打開開發(fā)工具,視覺InterDev在許多情況下開始,因?yàn)樗峭ǔ5怯浘庉婣SP文件的節(jié)目。如果您在ASP想要能雙擊歸檔,并且看他們的內(nèi)容,您可能同他們聯(lián)系在一起一個(gè)節(jié)目視覺對(duì)象InterDev。然而,切記普通ASP頁也許使用在客戶端分析器不支持的會(huì)話或應(yīng)用。結(jié)束方法正確地停止進(jìn)程。如果您由輸出在HTML文本框混淆,不太有關(guān)。查驗(yàn)同一個(gè)文件的嘗試通過InternetExplorer和HTTP和您看見瀏覽器從網(wǎng)絡(luò)服務(wù)器接受的HTML確切地是相同。一個(gè)可能的絆腳石在轉(zhuǎn)換進(jìn)程中=的意義是在之內(nèi)常用的標(biāo)志。更加復(fù)雜的頁瀏覽器通過當(dāng)前路徑名字完成參考文件的名字。如果您從點(diǎn)擊:http:/server/pages/foo.asp瀏覽器試圖鏈接到http:/server/pages/seminars.asp.您想在InternetExplorer地址設(shè)法鍵入這路徑名字,對(duì)話將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年電網(wǎng)側(cè)獨(dú)立儲(chǔ)能項(xiàng)目營銷方案
- 2026年石家莊人民醫(yī)學(xué)高等??茖W(xué)校高職單招職業(yè)適應(yīng)性考試模擬試題帶答案解析
- 2026年山西職業(yè)技術(shù)學(xué)院單招職業(yè)技能筆試備考試題帶答案解析
- 2026年鄭州城市職業(yè)學(xué)院單招職業(yè)技能筆試模擬試題帶答案解析
- 2026年山東海事職業(yè)學(xué)院單招職業(yè)技能筆試備考題庫帶答案解析
- 2026年山西旅游職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題帶答案解析
- 2026年山東圣翰財(cái)貿(mào)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫帶答案解析
- 2026年正德職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試備考試題帶答案解析
- 明斯克協(xié)議書 澤連斯基
- 2025-2030危地馬拉輕工業(yè)產(chǎn)能分析需求供給評(píng)估投資評(píng)估發(fā)展報(bào)告
- 電力部門春節(jié)安全生產(chǎn)培訓(xùn)
- 公司財(cái)務(wù)部門工作職責(zé)
- 原輔材料領(lǐng)料申請(qǐng)單
- 人教版九年級(jí)數(shù)學(xué)上冊(cè)22 3 3拱橋問題和運(yùn)動(dòng)中的拋物線 一課一練 (含答案)
- 2023年個(gè)稅工資表
- 網(wǎng)球運(yùn)動(dòng)基本知識(shí)及規(guī)則課件
- 2023新青年新機(jī)遇新職業(yè)發(fā)展趨勢白皮書-人民數(shù)據(jù)研究院
- 管理學(xué)原理教材-大學(xué)適用
- 變電站一次側(cè)設(shè)備溫度在線監(jiān)測系統(tǒng)設(shè)計(jì)
- GB/T 6579-2007實(shí)驗(yàn)室玻璃儀器熱沖擊和熱沖擊強(qiáng)度試驗(yàn)方法
- GB/T 5760-2000氫氧型陰離子交換樹脂交換容量測定方法
評(píng)論
0/150
提交評(píng)論