百科解釋
目錄·概述·ASP的工作原理·ASP的運(yùn)行環(huán)境·ASP的意涵與特性·ASP常用內(nèi)置函數(shù)·ASP中Application和Session對象 1. Advanced Speech Processing -- 高級語音處理 2. Analog Signal Processor -- 模擬信號處理器 3. Application Service Provider -- 應(yīng)用服務(wù)供應(yīng)商 它是集眾多社會資源和知識資源于一體,為企業(yè)提供在線業(yè)務(wù)的應(yīng)用服務(wù)和管理服務(wù)的商業(yè)機(jī)構(gòu)。 4. Active Server Pages -- 動態(tài)服務(wù)器主頁 概述ASP是Active Server Page的縮寫,意為“活動服務(wù)器網(wǎng)頁”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進(jìn)行交互,是一種簡單、方便的編程工具。ASP的網(wǎng)頁文件的格式是.asp,現(xiàn)在常用于各種動態(tài)網(wǎng)站中。 ASP是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運(yùn)行動態(tài)網(wǎng)頁或Web應(yīng)用程序。ASP網(wǎng)頁可以包含HTML標(biāo)記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應(yīng)用程序。 與HTML相比,ASP網(wǎng)頁具有以下特點(diǎn): (1)利用ASP可以實(shí)現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,實(shí)現(xiàn)動態(tài)網(wǎng)頁技術(shù); (2)ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試; (3)服務(wù)器上的ASP解釋程序會在服務(wù)器端制定ASP程序,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁; (4)ASP提供了一些內(nèi)置對象,使用這些對象可以使服務(wù)器端腳本功能更強(qiáng)。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對這些信息進(jìn)行處理,然后向web瀏覽器發(fā)送信息; (5)ASP可以使用服務(wù)器端ActiveX組件來執(zhí)行各種各樣的任務(wù),例如存取數(shù)據(jù)庫、發(fā)現(xiàn)和那個Email或訪問文件系統(tǒng)等。 (6)由于服務(wù)器是將ASP程序執(zhí)行的結(jié)果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取。 ASP的工作原理 當(dāng)在Web站點(diǎn)中融入ASP功能后,將發(fā)生以下事情: 1、用戶向?yàn)g覽器地址欄輸入網(wǎng)址,默認(rèn)頁面的擴(kuò)展名是.asp。 2、瀏覽器向服務(wù)器發(fā)出請求。 3、服務(wù)器引擎開始運(yùn)行ASP程序。 4、ASP文件按照從上到下的順序開始處理,執(zhí)行腳本命令,執(zhí)行HTML頁面內(nèi)容。 5、頁面信息發(fā)送到瀏覽器。 ASP的運(yùn)行環(huán)境 asp需要運(yùn)行在PWS或IIS下。PWS或IIS服務(wù)在windows98或windows2000的光盤上附帶著,可以通過“添加/刪除程序”中的“添加/刪除windows組件”來安裝。 一般asp需與access數(shù)據(jù)庫或SQL Server數(shù)據(jù)庫結(jié)合使用,編出功能強(qiáng)大的程序。 能夠運(yùn)行ASP的web服務(wù)器軟件 Windows2000默認(rèn)安裝的是IIS5.0(internet information server),而windows xp默認(rèn)安裝的是IIS5.1,windows 2003默認(rèn)安裝的IIS6.0。 PWS(personal web server)運(yùn)行在windows98環(huán)境下的簡單個人網(wǎng)頁服務(wù)器。 ASP的意涵與特性ASP( Application Service Provider,應(yīng)用軟體租賃服務(wù)提供者 )即是指「透過網(wǎng)路以租賃方式提供應(yīng)用軟體服務(wù)的業(yè)者」,即是指業(yè)者以應(yīng)用軟體為主體,透過網(wǎng)路一對多地傳遞服務(wù),這種以服務(wù)為主的交易模式促使企業(yè)可藉由租賃的方式,以更符合成本效益的方式擁有軟體的使用權(quán),并且亦能因?yàn)闃I(yè)者集中式的管理而大幅降低企業(yè)維護(hù)的成本. 基本上,ASP即具有「軟體服務(wù)化,服務(wù)網(wǎng)路化」,「資訊委外服務(wù)與網(wǎng)路結(jié)合」與「產(chǎn)品通路化,通路產(chǎn)品化」等三大特性,其甚至可以被視為是ISP(Internet Service Provider)與ITS(Information Technology Service)的結(jié)合. ASP的英文是Application Service Provider,中文的標(biāo)準(zhǔn)翻譯就是“應(yīng)用服務(wù)提 供商”,是指為商業(yè)或者個人客戶提供管理應(yīng)用解決方案的公司或者企業(yè)。最近 ASP被媒體炒做十分火熱,不是IT行業(yè)的人面對一堆技術(shù)名詞專業(yè)術(shù)語很難弄清楚ASP的內(nèi)容,本文試圖用淺顯的語言來為廣大的讀者揭開ASP神秘的面紗,對于IT行業(yè)的大熱門ASP領(lǐng)域有一些基本的認(rèn)識。 1. ASP是什么東西? 簡單地講,ASP就是為客戶提供服務(wù)的服務(wù)商,它和會計事物所、婚姻介紹所沒有什么本質(zhì)方面的區(qū)別。不同的是ASP主要是通過INTERNET(國際互聯(lián)網(wǎng)絡(luò))作為主要工作和業(yè)務(wù)工具,采用一對多的方式,向企業(yè)、公司提供標(biāo)準(zhǔn)化的應(yīng)用軟件以及相關(guān)的技術(shù)咨詢、管理租賃的服務(wù),ASP的概念最早是1998年由美國人提出來的。目前被全球各大IT廠商看好并被認(rèn)為是可以推動網(wǎng)絡(luò)經(jīng)濟(jì)發(fā)展的,有穩(wěn)固基礎(chǔ)的第三種網(wǎng)絡(luò)商業(yè)模式。 和傳統(tǒng)的外包服務(wù)(Outsourcing)相比,ASP的主要區(qū)別在于:ASP是一對多的經(jīng)營模式,提供的服務(wù)有兼容性和可協(xié)調(diào)性,并且ASP的收費(fèi)方式一般是按月收費(fèi)。 業(yè)界認(rèn)為:ASP一般有這樣一些“成員”:電信運(yùn)營商、傳統(tǒng)IT服務(wù)廠商、互聯(lián)網(wǎng)絡(luò)接入服務(wù)商(ISP)、獨(dú)立軟件供應(yīng)商(ISV)、系統(tǒng)集成商和單純的ASP公司。 根據(jù)流行的觀點(diǎn),ASP有如下五個核心內(nèi)涵: a. ASP著重應(yīng)用為中心,提供對于應(yīng)用方面的訪問和管理。 b. ASP服務(wù)可以為用戶提供沒有在服務(wù)器、人員、系統(tǒng)和系統(tǒng)授權(quán)等前期資源投入情況下就可以在“定制”的全新應(yīng)用系統(tǒng)環(huán)境進(jìn)行訪問的服務(wù),如ISP,而這樣的服務(wù)一般按月份ASP收取服務(wù)費(fèi)。 c. ASP采用集中管理的方式---ASP一般都有一個管理中心,所有的客戶通過INTERNET來進(jìn)行遠(yuǎn)程訪問,獲得技術(shù)支持和咨詢服務(wù)。 d. 一對多的服務(wù),也就是講,ASP提供的是標(biāo)準(zhǔn)化的產(chǎn)品包,產(chǎn)品都是最低程度的自定義或者沒有實(shí)現(xiàn)客戶定制化,對于行業(yè)用戶來講已經(jīng)達(dá)到實(shí)用方便的標(biāo)準(zhǔn)。 e. 按照合同交付,在ASP客戶的眼中,ASP是一家根據(jù)客戶協(xié)議內(nèi)容提供相關(guān)服務(wù),保證應(yīng)用服務(wù)系統(tǒng)服務(wù)可以得到確實(shí)履行的機(jī)構(gòu)。 2. ASP為什么會火? 從大的方面來講,困擾國內(nèi)企業(yè)生存、發(fā)展的核心問題是管理問題。隨著互聯(lián)網(wǎng)絡(luò)的普及和應(yīng)用的深入,企業(yè)用戶可以隨時隨地直接租用ASP的服務(wù)器和軟件系統(tǒng)來進(jìn)行自己的業(yè)務(wù)管理,這樣做的好處在于;第一,企業(yè)可以節(jié)省大筆用于IT建設(shè)方面的資金,大幅度降低企業(yè)管理信息化的成本。第二,ASP的用戶可以采用各種方式獲得應(yīng)用和服務(wù),軟件類服務(wù)產(chǎn)品完全可以通過網(wǎng)絡(luò)在非常短的時間內(nèi)組成一個完善的、高效的、先進(jìn)的企業(yè)管理系統(tǒng),迅速獲得企業(yè)一體化的運(yùn)營管理方案。 網(wǎng)絡(luò)經(jīng)濟(jì)發(fā)展突飛猛進(jìn),電子商務(wù)一日千里,網(wǎng)絡(luò)和網(wǎng)站從門戶到內(nèi)容、從注意力到垂直性,目前逐漸轉(zhuǎn)向熱衷ASP也是一個主要的原因。 筆者資料中,國內(nèi)最早對ASP觸電的是網(wǎng)友“飛鳥”,在1998年6月自發(fā)組織了研究、交流和探討ASP技術(shù)的“飛鳥之家”,現(xiàn)在已經(jīng)發(fā)展成為chinaasp.com,成為國內(nèi)最早的ASP應(yīng)用技術(shù)服務(wù)提供商網(wǎng)站。上海的互易網(wǎng)絡(luò)有限公司結(jié)合國內(nèi)實(shí)際情況,推出了為國內(nèi)企業(yè)服務(wù)的ASP平臺互易網(wǎng),向企業(yè)提供以電子商務(wù)為核心的,企業(yè)內(nèi)、外部網(wǎng)絡(luò)設(shè)施和應(yīng)用的遠(yuǎn)程構(gòu)架和托管服務(wù),創(chuàng)造虛擬企業(yè)門戶(EP)直接將ASP應(yīng)用到商業(yè)增殖環(huán)節(jié)中去。 此外,ISP也全面轉(zhuǎn)向ASP的懷抱,成為ISP進(jìn)一步發(fā)展的產(chǎn)物。軟件商對于ASP更是情有獨(dú)鐘。業(yè)界最新的消息是,中國第三電信“網(wǎng)通”已經(jīng)制定ASP發(fā)展戰(zhàn)略,國內(nèi)最大的管理咨詢公司“漢普”將把旗下八個子公司定位在企業(yè)內(nèi)部資源計劃管理(ERP)領(lǐng)域的ASP中,北京“聯(lián)成互動”瞄準(zhǔn)客戶關(guān)系管理(CRM)領(lǐng)域的ASP,北京“數(shù)碼方舟”定位在網(wǎng)絡(luò)辦公的ASP,HP正在和中國建設(shè)銀行討論共建金融領(lǐng)域的ASP。 ASP正在IT經(jīng)濟(jì)大潮中顯山露水,其發(fā)展前景不可估量。 3. ASP的發(fā)展階段和面臨的問題 以網(wǎng)絡(luò)服務(wù)商、軟件廠商和ISP為主力的各種IT角色,正在根據(jù)自己的優(yōu)勢條件出發(fā)對ASP領(lǐng)域進(jìn)行多種方面的嘗試。就目前階段來講,ASP提供的服務(wù)不計其數(shù)五花八門,沒有標(biāo)準(zhǔn)化和量化的概念,硬件廠商向ASP的“土壤”和勢力方向靠攏,軟件廠商和ISP則直接參與到ASP業(yè)務(wù)的第一線。 筆者估計,經(jīng)過一段時間的試探和發(fā)展,ASP將向服務(wù)集成方面發(fā)展,產(chǎn)品和服務(wù)初步的標(biāo)準(zhǔn)化將很快建立起來,接著進(jìn)入到市場細(xì)化和標(biāo)準(zhǔn)制定、ASP產(chǎn)品成熟時期,ASP的穩(wěn)步增長,最終將成為IT行業(yè)商務(wù)模式的核心! 目前在ASP發(fā)展的道路上,主要面臨的問題是觀念的轉(zhuǎn)變方面:用租賃代替購買,服務(wù)集成代替產(chǎn)品經(jīng)銷商、服務(wù)經(jīng)濟(jì)代替產(chǎn)品經(jīng)濟(jì)等等。具體到實(shí)際方面來講,安全和服務(wù)的質(zhì)量是ASP和客戶共同關(guān)心的頭等大事,要實(shí)現(xiàn)ASP提出的“租賃高科技”的口號,ASP任重而道遠(yuǎn)! ASP常用內(nèi)置函數(shù) 1,日期/時間函數(shù) 這些函數(shù)包括對“年”、“月”、“日”、“時”、“分”、“秒”、“星期”等的顯示。 (1)Now函數(shù):根據(jù)計算機(jī)系統(tǒng)設(shè)定的日期和時間,返回當(dāng)前的日期和時間值。使用方法now(); (2)Date函數(shù):只返回當(dāng)前計算機(jī)系統(tǒng)設(shè)定的日期值。使用方法:date(); (3)Time函數(shù):只返回當(dāng)前計算機(jī)系統(tǒng)設(shè)定的時間值。使用方法:time(); (4)Year函數(shù):返回一個代表某年的整數(shù)。使用方法:year(date),其中date參數(shù)是任意的可以代表日期的參數(shù),比如“year(date())”就表示是從“date()”得出的日期中提取其中“年”的整數(shù)。 另外,還可以這樣應(yīng)用:“year(#5 20,2006#)”表示提取“2006年5月20日”中“年”的整數(shù)值。關(guān)于“5 20,2006”,也可使用“5-20-2006”、“5/20/2006”等形式表現(xiàn),即“某月某日”和“某年”的組合。同時注意使用“#”進(jìn)行包括以表示日期值。 (5)Month函數(shù):返回1到12之間的整數(shù)值,表示一年中某月。使用方法:month(date)。關(guān)于參數(shù)date的說明和year函數(shù)相同。但要注意日期的正確性,比如“#13-31-2006#”,根本就沒有“13”月,肯定是錯誤的了。 (6)Day函數(shù):返回1到31之間的整數(shù)值,表示一個月中的某天。使用方法:day(date)。關(guān)于參數(shù)date的說明和year函數(shù)相同。同樣要注意日期的正確性,比如“#2-30-2006#”其中對“2”月定義的“30”日這天就是錯誤的。 (7)Hour函數(shù):返回0到23之間的整數(shù)值,表示一天中的某個小時。使用方法:hour(time)。其中參數(shù)time是任意的可代表時間的表達(dá)式。比如“hour(time())”就表示是從“time()”得出的時間中提取其中“小時”的整數(shù)。同樣,參數(shù)time還可以這樣應(yīng)用“hour(#11:45:50#)”表示從“11”時“45”分“50”秒中提取當(dāng)前小時數(shù)。當(dāng)然,定義的時間要符合時間的規(guī)范。 (8)Minute函數(shù):返回0到59之間的整數(shù)值,表示一小時中的某分鐘。使用方法:minute(time)。time參數(shù)的說明和hour函數(shù)相同。 (9)Second函數(shù):返回0到59之間的整數(shù)值,表示一分鐘中的某秒。使用方法:second(time)。time參數(shù)的說明和hour函數(shù)相同。 (10)Weekday函數(shù):返回一個星期中某天的整數(shù)。使用方法:weekday(date)。關(guān)于參數(shù)date的說明和year函數(shù)相同。該函數(shù)返回值為“1”到“7”,分別代表“星期日”、“星期一”……“星期六”。比如當(dāng)返回值是“4”時就表示“星期三”。 (11)WeekDayName函數(shù):返回一個星期中具體某天的字符串。相對weekday函數(shù)而言即翻譯出“星期幾”,使用方法:weekdayname(weekday)。參數(shù)weekday即星期中具體某天的數(shù)值。比如“weekdayname(weekday(date()))”就表示當(dāng)前是“星期幾”。因?yàn)椤癲ate()”表示的是當(dāng)前的時間,而“weekday(date())”就表示的是一星期中具體某天的整數(shù)。 當(dāng)然weekdayname函數(shù)最終顯示的字符串內(nèi)容還與當(dāng)前操作系統(tǒng)語系有關(guān),比如中文操作系統(tǒng)將顯示“星期一”這類的中文字符,而英文操作系統(tǒng)則顯示為“Mon”(Monday簡寫)。 此外,在VBs cript中還有一些關(guān)于時間間隔的計算函數(shù): (1)DateAdd函數(shù):返回指定時間間隔的日期、時間?梢杂嬎愠鱿喔舳嗌倌、或相隔幾個月、又或相隔幾個小時等的新日期、時間。使用方法:dateadd(interval, number, date)。 其中參數(shù)interval表示需要添加的時間間隔單位。其是以字符串的形式表達(dá)的,比如“yyyy”表示年,“q”表示季度,“m”表示月份,“d”表示天數(shù),“ww”表示周數(shù),“h”表示小時數(shù),“n”表示分鐘數(shù),“s”表示秒數(shù)。 而參數(shù)number則表示添加的時間間隔數(shù)。其是以數(shù)值的形式表達(dá)的,可以為負(fù)值。參數(shù)date則要求是日期、時間的正確格式。 比如dateadd("d",100,"2006-5-20")就表示2006年5月20號以后的100天的日期值:2006-8-28。再比如dateadd("h",-12,"2005-5-20 10:00:00")就表示2005年5月20號上午10點(diǎn)前的12小時的日期時間:2005-5-19 22:00:00。 (2)DateDiff函數(shù):返回兩個日期時間之間的間隔?捎嬎愠鰞蓚日期相隔的年代、小時數(shù)等。使用方法:datediff(interval,date1,date2)。 參數(shù)interval和dateadd函數(shù)中的interval參數(shù)內(nèi)容描述相同,date1和date2參數(shù)分別就是相互比較的兩個日期時間。另外,當(dāng)date1的日期時間值大于date2時,將顯示為負(fù)值。 比如DateDiff("yyyy","1982-7-18",date)表示某人的出生到現(xiàn)在已經(jīng)多少年了。又比如DateDiff("d","1982-7-18","2062-7-18")則計算了80年過了多少天:29220。 2,字符串處理函數(shù) 在腳本的功能處理中,通常需要對一些字符串進(jìn)行一些修飾性處理。比如過濾掉字符串中的敏感字眼以符合最終顯示的要求;又比如一段較長的字符串,需要提取開頭的幾個字符時。 (1)Asc函數(shù):返回字符串中第一個字母對應(yīng)的ANSI字符代碼。使用方法:asc(string)。其中string參數(shù)表示字符串。 (2)Chr函數(shù):返回指定了ANSI 字符代碼對應(yīng)的字符。使用方法:chr(chrcode)。參數(shù)chrcode是相關(guān)的標(biāo)識數(shù)字。該函數(shù)的功能和asc函數(shù)形成對應(yīng)。 比如:asc(“a”)表示小寫字母“a”的ANSI 字符“97”;同樣chr(97)表示的就是“小寫字母a”。另外chr(chrcode)中參數(shù)chrcode值為0到31的數(shù)字時,表示不可打印的ASCII碼。比如“chr(10)”表示換行符,“chr(13)”表示回車符等,這常用于輸入和顯示格式的轉(zhuǎn)換中。 (3)Len函數(shù):返回字符串內(nèi)字符的數(shù)目(字節(jié)數(shù))。使用方法:len(string)。比如len(“l(fā)ove”)的值就是4。 (4)LCase函數(shù):返回所有字符串的小寫形式。使用方法:lcase(string)。比如lcase(“CNBruce”)返回為“cnbruce”。 (5)UCase函數(shù):返回所有字符串的大寫形式。與lcase函數(shù)形成對應(yīng)。同樣,ucase(“CNBruce”)返回為“CNBRUCE”。 (6)Trim函數(shù)、LTrim函數(shù)和RTrim函數(shù):分別返回前導(dǎo)和后續(xù)不帶空格、前導(dǎo)不帶空格或后續(xù)不帶空格的字符串內(nèi)容。比如: trim(“ cnbruce ”)返回為“cnbruce”,前導(dǎo)和后續(xù)都不帶空格; ltrim(“ cnbruce ”)返回為“cnbruce ”,前導(dǎo)不帶空格; rtrim(“ cnbruce ”)返回為“ cnbruce”,后續(xù)不帶空格; 該函數(shù)常用于注冊信息中,比如確保注冊用戶名前或后的空格。 (7)Left函數(shù):返回從字符串的左邊算起的指定數(shù)目的字符。使用方法:left(string,length)。比如left(“brousce”,5)返回為“brous”,即前五位字符。 (8)Right函數(shù):返回從字符串的左邊算起的指定數(shù)目的字符。使用方法:right(string,length)。比如right(“brousce”,4)返回為“usce”,即后四位字符。 (9)instr函數(shù):返回某字符串在另一字符串中第一次出現(xiàn)的位置。比如現(xiàn)在查找字母“A”在字符串“A110B121C119D1861”中第一次出現(xiàn)的位置,則可以 instr(my_string,"A110B121C119D1861") (10)Mid函數(shù):從字符串中返回指定數(shù)目的字符。比如現(xiàn)在的“110”則應(yīng)該是從字符串“A110B121C119D1861”的第2位取得3個單位的值:mid("A110B121C119D1861",2,3) (11)Replace函數(shù):在字符串中查找、替代指定的字符串。replace(strtobesearched,strsearchfor,strreplacewith)其中strtobesearched是字符串,strsearchfor是被查找的子字符串,strreplacewith是用來替代的子字符串。比如 replace(rscon,"<","<") 則表示將rscon中所有“<”的字符替換為“<” 3,類型轉(zhuǎn)換函數(shù) Cbool(string) 轉(zhuǎn)換為布爾值 Cbyte(string) 轉(zhuǎn)換為字節(jié)類型的值 Ccur(string) 轉(zhuǎn)換為貨幣類值 Cdate(string) 轉(zhuǎn)換為日前類型的值 Cdbl(string) 轉(zhuǎn)換為雙精度值 Cint(string) 轉(zhuǎn)換為整數(shù)值 Clng(string) 轉(zhuǎn)換為長整型的值 Csng(string) 轉(zhuǎn)換為單精度的值 Cstr(var) 轉(zhuǎn)換為字符串值 Str(var) 數(shù)值轉(zhuǎn)換為字符串 Val(string) 字符串轉(zhuǎn)換為數(shù)值 4,運(yùn)算函數(shù) Abs(nmb) 返回數(shù)子的絕對值 Atn(nmb) 返回一個數(shù)的反正切 Cos(nmb) 返回一個角度的余炫值 Exp(nmb) 返回自然指數(shù)的次方值 Int(nmb) 返回數(shù)字的整形(進(jìn)位)部份 Fix(nmb) 返回數(shù)字的整形(舍去)部份 Formatpercent(表達(dá)式) 返回百分比 Hex(nmb) 返回數(shù)據(jù)的16進(jìn)制數(shù) Log(nmb) 返回自然對數(shù) Oct(nmb) 返回數(shù)字的8進(jìn)制數(shù) Rnd 返回大于“0”而小于“1”的隨機(jī)數(shù),但此前需 randomize 聲明產(chǎn)生隨機(jī)種子 Sgn(nmb) 判斷一個數(shù)字的正負(fù)號 Sin(nmb) 返回角度的正鉉值 Sqr(nmb) 返回數(shù)字的二次方根 Tan(nmb) 返回一個數(shù)的正切值 5,其他函數(shù) IsArray(var) 判斷一個變量是否是數(shù)組 IsDate(var) 判斷一個變量是否是日期 IsNull(var) 判斷一個變量是否為空 IsNumeric(var) 判斷表達(dá)式是否包含數(shù)值 IsObject(var) 判斷一個變量是否是對象 TypeName(var) 返回變量的數(shù)據(jù)類型 Array(list) 返回數(shù)組 Split(liststr) 從一個列表字符串中返回一個一維數(shù)組 LBound(arrayP 返回數(shù)組的最小索引 Ubound(array) 返回數(shù)組的最大索引 CreateObject(class) 創(chuàng)建一個對象 GetObject(pathfilename) 得到文件對象 ASP中Application和Session對象 一、Application對象的成員概述 Application對象成員包括Application對象的集合、方法和事件。 ⒈Application對象的集合 Contents集合:沒有使用元素定義的存儲于Applicaiton對象中的所有變量的集合 StaticObjects:使用元素定義的存儲于Application對象中的所有變量 的集合 例:在default.asp中有如下賦值 application("a")="a" application("b")=128 application("c")=false 則有contents集合 application.contents(1)="a" &#39;&#39;&#39;&#39;也可寫為application.contents("a")="a" application.contents(2)=128 &#39;&#39;&#39;&#39;也可寫為application.contents("b")=128 application.contents(3)=false &#39;&#39;&#39;&#39;也可寫為application.contents("c")=false 在此筆者推薦你在調(diào)用時使用類如application.contents("a")的方法,因?yàn)檫@樣更為直觀,如果用序號來表示的話則要考慮賦值的先后順序。 ⒉Application對象的方法 Contents.Remove("變量名"):從Application.Contents集合中刪除指定的變量 Contents.RemoveAll() :把Application.Contents集合中的所有變量刪除 Lock() :鎖定Application對象,使得只有當(dāng)前的ASP頁對內(nèi)容能進(jìn)行訪問 Unlock() :解除對Application對象的鎖定 例:在default.asp中: application("a")="a" application("b")=128 application("c")=false response.write application.contents(1)&" " response.write application.contents(2)&" " response.write application.contents(3)&" " response.write "After Remove b:" application.contents.remove("b") response.write application.contents(1)&" " response.write application.contents(2)&" " 執(zhí)行結(jié)果: a 128 False After Remove b: a False 如果要刪除集合中所有變量用application.contents.removeall即可,至于Lock和Unlock方法在實(shí)際中經(jīng)常用到,讀者也比較熟悉,在此就不在累贅。 、矨pplication對象事件 OnStart:第一個訪問服務(wù)器的用戶第一次訪問某一頁面時發(fā)生 OnEnd :當(dāng)最后一個用戶的會話已經(jīng)結(jié)束并且該會話的OnEnd事件所有代碼已經(jīng)執(zhí)行完畢后發(fā)生,或最后一個用戶訪問服務(wù)器一段時間(一般為20分鐘)后仍然沒有人訪問該服務(wù)器產(chǎn)生。 想要定義application對象的OnStart和OnEnd事件里做什么需要將代碼寫在Global.asa這個文件里(下文有舉例),并且將該文件放在站點(diǎn)的根目錄下(一般是Inetpubwwwroot) 二、Session對象的成員概述 Session對象的成員比Application對象多一項(xiàng)屬性,即:集合、屬性、方法、事件 、盨ession對象的集合 Contents :沒有使用元素定義的存儲于特定Session對象的所有變量的集合。 StaticObject:使用元素定義的、存儲于Session對象中的所有變量的集合。 例:在default.asp中有如下賦值 session("a")="a" session("b")=128 session("c")=false 則有contents集合 session.contents(1)="a" &#39;&#39;&#39;&#39;也可寫為session.contents("a")="a" session.contents(2)=128 &#39;&#39;&#39;&#39;也可寫為session.contents("b")=128 session.contents(3)=false &#39;&#39;&#39;&#39;也可寫為session.contents("c")=false 、睸ession對象的屬性 CodePage: 可讀/可寫。整型。定義用于在瀏覽器中顯示頁內(nèi)容的代碼頁。代碼頁是字符集的數(shù)字值,不同的語言使用不同的代碼頁。例如,ANSI代碼頁為1252,日文代碼頁為932,簡體中文代碼頁為936。 LCID : 可讀/可寫。整型。定義發(fā)送給瀏覽器的頁面地區(qū)標(biāo)識。LCID是唯一地標(biāo)識地區(qū)的一個國際標(biāo)準(zhǔn)縮寫,例如,2057定義當(dāng)前地區(qū)的貨幣符號是"£"。 SessionID: 只讀。長整型。返回本會話的會話標(biāo)識符。每創(chuàng)建一個會話,由服務(wù)器自動分配一個標(biāo)識符?梢愿鶕(jù)它的值判斷兩個用戶是誰先訪問服務(wù)器。 Timeout : 可讀/可寫。整型。為會話定義以分鐘為單位的超時限定。如果用戶在這個時間內(nèi)沒有刷新或請求任何一個網(wǎng)頁,則該用戶產(chǎn)生的會話自動結(jié)束。缺省值是20。 以上屬性在實(shí)際應(yīng)用中作用不大,而且基本上不需要怎么修改,這幾個屬性也沒什么特殊的地方。 、砈ession對象的方法 Contents.Remove("變量名"): 從Session.contents集合中刪除指定的變量 Contents.Removeall() : 刪除Session.contents集合中的所有變量 Abandon() : 結(jié)束當(dāng)前用戶會話并且撤消當(dāng)前Session對象。 Session對象的Contents.Remove("變量名")和Contents.Removeall()方法與Application對象的基本上沒什么區(qū)別,為幫助理解,大家可以參照上面的例子將Application改為Session。這里要說明一下的是Contents.Removeall()和Abandon()的區(qū)別,執(zhí)行這兩個方法都會釋放當(dāng)前 用戶會話的所有Session變量,不同的是Contents.Removeall()單純地釋放Session變量的值而不終止當(dāng)前的會話,而Abandon()除了釋放Session變量外還會終止會話引發(fā)Session_OnEnd事件,希望大家注意兩者的區(qū)別。 、碨ession對象的事件 OnStart: 當(dāng)ASP用戶會話產(chǎn)生時觸發(fā),一旦有任一用戶對本服務(wù)器請求任一頁面即產(chǎn)生該事件。 OnEnd : 當(dāng)ASP用戶會話結(jié)束時觸發(fā),當(dāng)使用Abandon()方法或超時也會觸發(fā)該事件。 這兩個事件和Application的OnStart、OnEnd事件一樣,也是必須放在Global.asa文件里,下 面就重點(diǎn)和大家研究一下這四個事件的使用。 三、Global.asa ASP的Application和Session對象體現(xiàn)了其他ASP內(nèi)置對象所沒有的特征--事件。每一個訪客訪問服務(wù)器時都會觸發(fā)一個OnStart事件(第一個訪客會同時觸發(fā)Application和Session的OnStart事件,但Application先于Session),每個訪客的會話結(jié)束時都會觸發(fā)一個OnEnd事件(最后一個訪客會話結(jié)束時會同時觸發(fā)Application和Session的OnEnd事件,但Session先于Application)。 OnStart和OnEnd這兩個事件一般應(yīng)用在虛擬社區(qū)中統(tǒng)計在線人數(shù)、修改用戶的在線離線狀態(tài)等。要具體定義這兩個事件,需要將代碼寫在Global.asa文件,并將該文件放在站點(diǎn)的根目錄下(缺省是Inetpubwwwroot)。另外,Application和Session對象規(guī)定了在OnEnd事件里除了Application對象外其他ASP內(nèi)置對象(Response、Request、Server、Session...)一概不能使用。以下舉一個虛擬社區(qū)統(tǒng)計在線人數(shù)的例子來說明如何使用這兩個事件。 文件說明: global.asa 位于d:Inetpubwwwroot目錄下 default.asp 位于d:Inetpubwwwroot目錄下,虛擬社區(qū)登錄頁面 login.asp 位于d:Inetpubwwwroot目錄下,用于檢測用戶輸入的用戶名及密碼 index.asp 位于d:Inetpubwwwroot目錄下,虛擬社區(qū)首頁 bbs.mdb 位于d:Inetpubwwwroot目錄下,存儲用戶信息的數(shù)據(jù)庫 數(shù)據(jù)庫(ACCESS)結(jié)構(gòu): ===bbs表=== id 用戶ID,長整型 name 用戶名,文本型 code 密碼,文本型 online 在線狀態(tài),是/否 ===global.asa=== 。約 cript LANGUAGE="VBs cript" RUNAT="Server"> Sub Application_OnStart application("online")=0 End Sub sub Application_OnEnd nd Sub Sub Session_OnStart End Sub Sub Session_OnEnd if session.contents("pass") then &#39;&#39;&#39;&#39;判斷是否為登錄用戶的Session_OnEnd application.lock application("online")=application("online")-1 application.unlock end if End Sub 。/s cript> ===login.asp=== ......&#39;&#39;&#39;&#39;密碼驗(yàn)證,連接數(shù)據(jù)庫,檢測用戶輸入的用戶名及密碼是否正確 if 密碼驗(yàn)證通過 then session("name")=rs("name") session("id")=rs("id") session("pass")=true else rs.close conn.close response.write "密碼錯誤!" response.end end if application.lock application("online")=application("online")+1 conn.Execute ("update bbs set online=1 where id="&session("id"))&#39;&#39;&#39;&#39;將用戶的狀態(tài)設(shè)為在線 application.unlock rs.close conn.close response.redirect "index.asp" &#39;&#39;&#39;&#39;初始化數(shù)據(jù)后跳轉(zhuǎn)到社區(qū)首頁 =========== 在本例中,用application("online")變量記錄已經(jīng)登錄社區(qū)的在線人數(shù),因?yàn)橐坏┯杏脩粼L問服務(wù)器而不管用戶是否登錄,都會產(chǎn)生OnStart事件,所以不能在OnStart事件里使Applicaiton("online")加一。因?yàn)椴还苁欠袷堑卿浻脩舻臅捊Y(jié)束都會產(chǎn)生OnEnd事件(假如有訪客訪問了服務(wù)器但并不登錄社區(qū),他的會話結(jié)束后也會產(chǎn)生OnEnd事件),所以在Session_OnEnd事件里用了句if語句來判斷是否為已登錄用戶的OnEnd事件,如果是才將在線人數(shù)減一。 這只是一個統(tǒng)計在線人數(shù)的簡單例子,對于一個完整的虛擬社區(qū)來說,僅僅統(tǒng)計有多少人在線是不夠的,在本例中數(shù)據(jù)庫里有個online字段是用來記錄用戶的在線狀態(tài),用戶登錄的時候,在login.asp里將online設(shè)為1,但用戶離線時并沒有將online設(shè)為0,要完善它,就要修改一下Session_OnEnd事件,在該事件里將online設(shè)為0。 ===global.sas=== <s cript LANGUAGE="VBs cript" RUNAT="Server"> Sub Application_OnStart application("online")=0 set application("conn")=Server.CreateObject("ADODB.Connection") application("db")=Server.MapPath("bs.mdb") &#39;&#39;&#39;&#39;此處最好使用絕對路徑bs.mdb,下文有詳細(xì)介紹 End Sub sub Application_OnEnd set application("conn")=nothing End Sub Sub Session_OnStart End Sub Sub Session_OnEnd if session.contents("pass") then &#39;&#39;&#39;&#39;判斷是否為登錄用戶的Session_OnEnd application("con").open ="driver={Microsoft Access Driver (*.mdb)};dbq="&application("db") application.lock application("online")=application("online")-1 application("con").Execute ("update friends set online=0 where id="&session.contents("id")) application.unlock application("con").close end if End Sub 。迹痵 cript> ============== 至此,完整的代碼已經(jīng)完成了。因?yàn)樵贏pplication和Session的OnEnd事件里不能使用Server對象,所以要將數(shù)據(jù)庫的連接及數(shù)據(jù)庫在服務(wù)器上的物理地址(d:inetpubwwwrootbs.mdb)存儲在application變量中,并在Application_OnStart事件中預(yù)先處理。同理,在Session_OnEnd事件中不能用session("pass")來代替session.contents("pass")(以下有詳盡說明)。 四、本文實(shí)例中值得引起注意的兩點(diǎn) 、監(jiān)nEnd事件里的session.contents 剛開始接觸global.asa的朋友經(jīng)常會將上面Session_OnEnd事件里的 if session.contents("pass") then 寫成 if session("pass") then, 這樣的話系統(tǒng)不會提示錯誤,但是永遠(yuǎn)也不會執(zhí)行then后面的內(nèi)容,這是因?yàn)樵贠nEnd事件里禁止使用Session對象,但是可以用Session對象的集合來調(diào)用session變量。因?yàn)镮IS并沒提示任何錯誤信息,所以筆者曾經(jīng)在這上面浪費(fèi)了很多時間。在此希望大家引以為鑒! 、睞pplication_OnStart事件里用Server.MapPath獲取數(shù)據(jù)庫的物理地址時應(yīng)使用絕對地址為了說明這個問題,大家可以做個實(shí)驗(yàn):將上面Application_OnStart事件里的 application("db")=Server.MapPath("bs.mdb")改為: application("db")=Server.MapPath("bbs.mdb") 然后在d:inetpubwwwroot目錄下建立一個test子目錄,寫一個temp.asp在test目錄里。 ====test.asp==== <%response.write application("db")%> ================ 再將temp.asp拷貝一份放在根目錄下(d:inetpubwwwroot)。用記事本打開global.asa,再打開兩個瀏覽器,瀏覽器A輸入地址http://localhost/temp.asp,按回車,將在瀏覽器上輸出: d:inetpubwwwrootbs.mdb 然后,在記事本的窗口上點(diǎn)"文件"菜單,選"保存"(使global.asa的修改時間改變,從而使IIS重啟動所有服務(wù)),再在瀏覽器B輸入地址http://localhost/test/temp.asp,按回車,在瀏覽器上輸出的是: d:inetpubwwwroot estbs.mdb global.asa文件雖然是放在站點(diǎn)根目錄下,但是如果在server.mappath中使用的是相對地址,而觸發(fā)Application_OnStart事件的用戶第一次訪問的頁面又不是屬于根目錄的話,得到數(shù)據(jù)庫的物理地址將不會是期望的結(jié)果,希望大家要特別小心。 類別:Web | 編輯 | 刪除 | 評論(0) | 瀏覽(0) 全面解析ASP Server對象 2007-07-27 12:40 Server對象提供對服務(wù)器上訪問的方法和屬性.大多數(shù)方法和屬性是作為實(shí)用程序的功能提供的。 語法: Server.property|method 屬性(property) Server對象只有一個屬性:s criptTimeout 程序能夠運(yùn)行的最大時間 方法(Methods) CreateObject 建立一個對象實(shí)例. Execute 執(zhí)行一個asp文件 GetLastError 返回一個錯誤代碼 HTMLEncode 對指定的HTML代碼進(jìn)行轉(zhuǎn)換. MapPath 將一個相對路徑轉(zhuǎn)化為一個絕對路徑. Transfer 將當(dāng)前的所有狀態(tài)信息發(fā)送給另一個asp文件 URLEncode 以URL形式轉(zhuǎn)化指定的代碼,包括空格 Server對象的方法詳細(xì)說明 CreateObject 語法 Server.CreateObject( progID ) 參數(shù) progID 指定要創(chuàng)建的組件名稱,格式如下: [Vendor.]Component[.Version]. 要點(diǎn): 一般來說,用由Server.CreateObject方法創(chuàng)建的對象擁有頁面的范圍.這就說,當(dāng)這頁的asp程序執(zhí)行完后,這種對象會自動地消失. 為了創(chuàng)建一個擁有Session或Application范圍的對象,你可以在Global.asa文件中使用 Execute Execute 方法呼叫一個ASP文件并且執(zhí)行它就像這個呼叫的ASP文件存在這個ASP文件中一樣。這很像許多語言中的類的調(diào)用。 語法 Server.Execute( Path ) 參數(shù) Path 指定執(zhí)行的那個asp文件的路徑。如是它是一個絕對路徑,那么它必須是一個在這個ASP應(yīng)用程序相同的地方(目錄)。 講解 Server.Execute 方法提供了一種將一個復(fù)雜ASP應(yīng)用程序分化為小塊單位來執(zhí)行的方法。通過這種方法,你能夠建一個ASP圖書館,你能夠隨便在你需要時調(diào)用你圖書館中的ASP文件。這個就有點(diǎn)像SSI了!嘿嘿! 當(dāng)IIS根據(jù)指定的ASP文件路徑執(zhí)行完這個ASP文件之后,就會自動返回以前的ASP文件。這個剛剛執(zhí)行完的ASP文件有可能改變了HTTP head.但是和其它的ASP文件一樣,當(dāng)程序試圖改變http head時,就會報錯! 這個path參數(shù)可以包括一個詢問信息。 如果在被呼叫和呼叫的ASP文件中都含有相同的子函數(shù),那么這些子函數(shù)只在本ASP文件中起作用。舉個例子,如果在下面的ASP1和ASP2兩個文件中都含有放棄程序的子函數(shù)。首先ASP1呼叫ASP2,那么ASP2中的的OnTransactionAbort開始執(zhí)行,當(dāng)ASP2執(zhí)行完畢,ASP1中的OnTransactionAbort才開始執(zhí)行。 ASP1: < %@ Transaction= Required %> < % Server.Execute ("Page22.asp") Sub OnTransactionAbort Sub OnTransactionCommit %> Asp2.asp: < %@ Transaction=Required Sub OnTransactionAbort Sub OnTransactionCommit %> Example ASP1 < % Response.Write("I am going to execute ASP2 ") Server.Execute("/myasps/asp2.asp") %> ASP2 < % Response.Write("Here I am")%> GetLastError GetLastError 方法返回一個ASPError Object 來描述一個錯誤信息.這個方法只適用于在asp文件發(fā)送任何內(nèi)容給用戶機(jī)之前. 語法 Server.GetLastError () 要點(diǎn) 如果一個500;100 用戶錯誤已經(jīng)被定義在一個asp應(yīng)用程序中,它是指的一個以.asp為后綴的文件。這種情況下,在這個程序運(yùn)行時當(dāng)一個錯誤發(fā)生時,服務(wù)器就會自動的以Server.Transfer這種方式傳送到這個正在執(zhí)行的ASP頁面。ASP應(yīng)用程序就會將有效的處理這個錯誤。另外,這個ASPError Object一定要有效,這樣你就能夠看到服務(wù)器提供給你的錯誤信息來改這個文件了! 一般的Web Site 都是根據(jù)文件iishelpcommon500-100.asp來構(gòu)造的。你能夠用它來執(zhí)行一個asp錯誤,當(dāng)然你能夠自己定義了!。如果你想改變?yōu)榱硗庖粋asp文件的來執(zhí)行這些用戶錯誤。那么你可以用IIS中的snap-in. 注意:當(dāng)IIS發(fā)現(xiàn)了一個asp文件或者global.asa文件中的一個錯誤,那么一個500;100用戶錯誤產(chǎn)生。以下的程序?qū)⒉荒軋?zhí)行! Example 下面的三個例子證明不同的錯誤會產(chǎn)生的用戶錯誤。三個錯誤是: 編譯錯誤 運(yùn)行錯誤 邏輯錯誤 第一個例子證明了一個編譯錯誤,就是當(dāng)IIS試圖包含一個文件時產(chǎn)生的。這個錯誤會產(chǎn)生是因?yàn)樵谶@個包含文件中沒有定義所需的參數(shù)。第二個例子顯示的是一個運(yùn)行錯誤,這個程序中斷的原因是程序中沒有“next".第三個例子顯示的是一個邏輯錯誤,因?yàn)檫@個程序試圖除以一個0. 不行啦! Example 1 < % response.write "hello" %> Example 2 < % dim I for i=1 to 1 nxt %> Example 3 < % dim i,j dim sum sum=0 j=0 for i=1 to 10 sum=sum+1 next sum=sum/j %> HTMLEncode HTMLEncode方法對指定的字符串進(jìn)行HTML編碼. 語法 Server.HTMLEncode( string ) 參數(shù) string 要進(jìn)行編碼的字符 例子 下面的程序: 。 %= Server.HTMLEncode("The paragraph tag: ") %> 輸出為: The paragraph tag: 注意 程序執(zhí)行后在瀏覽器中看到的是: The paragraph tag: 但是如果你用"查看源文件"看一下的話,源代碼就不是了. MapPath MapPath 方法將相對路徑轉(zhuǎn)化為服務(wù)器上的物理路徑 語法 Server.MapPath( Path ) 參數(shù) Path 相對路徑。這個路徑是以"/"或""開頭的路徑,如果這個路徑中沒有"",那么MapPath方法就會返回以當(dāng)前目錄為基礎(chǔ)的路徑。 講解 MapPath 方法不能檢查路徑在這個服務(wù)器下是否存在。因?yàn)?MapPath 轉(zhuǎn)化路徑時是不管這個路徑是否在這個服務(wù)器下存在的。 你能夠用它來將一個相對路徑轉(zhuǎn)化為一個物理路徑,然后再在這個路徑下進(jìn)行各種操作。 Example 在下面的例子中,data.txt文件存在 C:InetpubWwwroots cript 目錄中,而且一個test.asp 文件包括下面的代碼。C:InetpubWwwroot 是該服務(wù)器的主目錄 。 下面的例子中,首先用環(huán)境變量"PATH_INFO"獲得當(dāng)前文件的物理路徑。 下面是s cript 代碼: 。 %= server.mappath(Request.ServerVariables("PATH_INFO"))%> 顯示為: c:inetpubwwwroots cript est.asp 因?yàn)橄旅娴睦又新窂絽?shù)沒有以"/"開頭,所以它是以當(dāng)前目錄轉(zhuǎn)化的,asp文件是放在C:InetpubWwwroots cript中的.以下是 s cripts的內(nèi)容: 。 %= server.mappath("data.txt")%> < %= server.mappath("s cript/data.txt")%> 顯示為: c:inetpubwwwroots criptdata.txt c:inetpubwwwroots cripts criptdata.txt 以下的兩個例子是以"/"開頭的.以下是s cripts的內(nèi)容: 。 %= server.mappath("s cript")%> 顯示為: c:inetpubwwwroots criptdata.txt c:inetpubwwwroots cript 直接用"/"或""就會得到服務(wù)器的主目錄: 。 %= server.mappath("")%> 顯示為: c:inetpubwwwroot c:inetpubwwwroot Transfer transfer 方法會把一個正在執(zhí)行的asp文件的所有信息傳給另外一人asp文件。 語法 Server.Transfer (path) 參數(shù) Path 將要接收信息的asp文件的位置。 要點(diǎn) 當(dāng)你調(diào)用Server.Transfer時,所有內(nèi)建對象的狀態(tài)信息都會包含在這次傳送之中。這就是說,所有在保存在Session或Application中的信息都會被傳送,而且,所有當(dāng)前請求的信息都會被接收信息的asp文件所接受。 Example 下面的例子示范了從一個asp文件傳送到另一個asp文件例子! ASP1 < % Dim sessvar1 Response.Write Session.SessionID Response.Write ("") Response.Write("I am going to ASP2 ") Server. Transfer ("/Myasps/ASP2.asp") % > ASP2 < % Response.Write Session.SessionID %> URLEncode URLEncode 方法可以將指定字符串進(jìn)行URL編碼。 語法 Server.URLEncode( string ) 參數(shù) string 指定要轉(zhuǎn)化的字符串 Example 下面是代碼: 。 % Respones.Write(Server.URLEncode("http://www.microsoft.com")) % > 顯示為: http%3A%2F%2Fwww%2Emicrosoft%2Ecom 屬性:s criptTimeout s criptTimeout 屬性規(guī)定了程序的最大運(yùn)行時間。 語法 Server.s criptTimeout = NumSeconds 參數(shù) NumSeconds 規(guī)定了程序的最大的運(yùn)行時間(以秒計算)。缺省值是90秒 Remarks 一個缺省的Scritpt Timeout的值會能過ASPs criptTimeOUT屬性來設(shè)置在Web sertvic 或 Web server上。在程序中,s criptTimeout屬性的值不能小于這個缺省值。舉個例子吧,如果NumSeconds我們設(shè)置為10秒,而缺省值為90秒,那么程序就會中止在90秒以后,而不是10秒以后的。同樣,如果我們設(shè)置s criptTimeout的值為100秒,那么,程序就會在100秒之后中止,而不是90秒。 Example 下面的例了中程序?qū)⒈辉O(shè)置為100秒后自動中止。 < % Server.s criptTimeout = 100 %> 下面的例子中將重新得到s criptTimeout的值,然后把它存在Timout變量中 。 % TimeOut = Server.s criptTimeout %> ASP內(nèi)置對象Request的ServerVariables集合列表 Request.ServerVariables("Url") 返回服務(wù)器地址 Request.ServerVariables("Path_Info") 客戶端提供的路徑信息 Request.ServerVariables("Appl_Physical_Path") 與應(yīng)用程序元數(shù)據(jù)庫路徑相應(yīng)的物理路徑 Request.ServerVariables("Path_Translated") 通過由虛擬至物理的映射后得到的路徑 Request.ServerVariables("s cript_Name") 執(zhí)行腳本的名稱 Request.ServerVariables("Query_String") 查詢字符串內(nèi)容 Request.ServerVariables("Http_Referer") 請求的字符串內(nèi)容 Request.ServerVariables("Server_Port") 接受請求的服務(wù)器端口號 Request.ServerVariables("Remote_Addr") 發(fā)出請求的遠(yuǎn)程主機(jī)的IP地址 Request.ServerVariables("Remote_Host") 發(fā)出請求的遠(yuǎn)程主機(jī)名稱 Request.ServerVariables("Local_Addr") 返回接受請求的服務(wù)器地址 Request.ServerVariables("Http_Host") 返回服務(wù)器地址 Request.ServerVariables("Server_Name") 服務(wù)器的主機(jī)名、DNS地址或IP地址 Request.ServerVariables("Request_Method") 提出請求的方法比如GET、HEAD、POST等等 Request.ServerVariables("Server_Port_Secure") 如果接受請求的服務(wù)器端口為安全端口時,則為1,否則為0 Request.ServerVariables("Server_Protocol") 服務(wù)器使用的協(xié)議的名稱和版本 Request.ServerVariables("Server_Software") 應(yīng)答請求并運(yùn)行網(wǎng)關(guān)的服務(wù)器軟件的名稱和版本 Request.ServerVariables("All_Http") 客戶端發(fā)送的所有HTTP標(biāo)頭,前綴HTTP_ Request.ServerVariables("All_Raw") 客戶端發(fā)送的所有HTTP標(biāo)頭,其結(jié)果和客戶端發(fā)送時一樣,沒有前綴HTTP_ Request.ServerVariables("Appl_MD_Path") 應(yīng)用程序的元數(shù)據(jù)庫路徑 Request.ServerVariables("Content_Length") 客戶端發(fā)出內(nèi)容的長度 Request.ServerVariables("Https") 如果請求穿過安全通道(SSL),則返回ON如果請求來自非安全通道,則返回OFF Request.ServerVariables("Instance_ID") IIS實(shí)例的ID號 Request.ServerVariables("Instance_Meta_Path") 響應(yīng)請求的IIS實(shí)例的元數(shù)據(jù)庫路徑 Request.ServerVariables("Http_Accept_Encoding") 返回內(nèi)容如:gzip,deflate Request.ServerVariables("Http_Accept_Language") 返回內(nèi)容如:en-us Request.ServerVariables("Http_Connection") 返回內(nèi)容:Keep-Alive Request.ServerVariables("Http_Cookie") Request.ServerVariables("Http_User_Agent") 返回內(nèi)容:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1) Request.ServerVariables("Https_Keysize") 安全套接字層連接關(guān)鍵字的位數(shù),如128 Request.ServerVariables("Https_Secretkeysize") 服務(wù)器驗(yàn)證私人關(guān)鍵字的位數(shù)如1024 Request.ServerVariables("Https_Server_Issuer") 服務(wù)器證書的發(fā)行者字段 Request.ServerVariables("Https_Server_Subject") 服務(wù)器證書的主題字段 Request.ServerVariables("Auth_Password") 當(dāng)使用基本驗(yàn)證模式時,客戶在密碼對話框中輸入的密碼 Request.ServerVariables("Auth_Type") 是用戶訪問受保護(hù)的腳本時,服務(wù)器用於檢驗(yàn)用戶的驗(yàn)證方法 Request.ServerVariables("Auth_User") 代證的用戶名 Request.ServerVariables("Cert_Cookie") 唯一的客戶證書ID號 Request.ServerVariables("Cert_Flag") 客戶證書標(biāo)志,如有客戶端證書,則bit0為0如果客戶端證書驗(yàn)證無效,bit1被設(shè)置為1 Request.ServerVariables("Cert_Issuer") 用戶證書中的發(fā)行者字段 Request.ServerVariables("Cert_Keysize") 安全套接字層連接關(guān)鍵字的位數(shù),如128 Request.ServerVariables("Cert_Secretkeysize") 服務(wù)器驗(yàn)證私人關(guān)鍵字的位數(shù)如1024 Request.ServerVariables("Cert_Serialnumber") 客戶證書的序列號字段 Request.ServerVariables("Cert_Server_Issuer") 服務(wù)器證書的發(fā)行者字段 Request.ServerVariables("Cert_Server_Subject") 服務(wù)器證書的主題字段 Request.ServerVariables("Cert_Subject") 客戶端證書的主題字段 Request.ServerVariables("Content_Type") 客戶發(fā)送的form內(nèi)容或HTTPPUT的數(shù)據(jù)類型
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助