第三方伺服器組件

來源:互聯網
上載者:User
伺服器


    在本節中,簡要概述ASP系統中要用到的一些常見的商用和免費的第三方伺服器組件。
       開發Web網站時,必須完成的兩個任務是管理相容性以及向伺服器上傳檔案。下面將介紹的兩個組件能有助於完成上述的任務,而且還介紹另外一個組件,可取代Microsoft的Registry Access組件(該組件一般是從相應的Web網站得到的)。
       在附錄G中,給出了一些最為有用的組件的清單。

6.3.1 BrowserHawk組件
       很多人使用由IIS及ASP提供的Browser Capability組件時,都會遇到一個麻煩,瀏覽器的定義檔案(browscap.ini)要求週期性維護或替換以跟得上新版瀏覽器的要求。
       Cyscape公司提供了broscap.ini的升級版本,同時提供了他們自己的能在伺服器端和用戶端進行瀏覽器檢測的組件。而且,還提供了便捷的圖形介面用於查看及修改自己的瀏覽器定義檔案,如圖6-26所示:

       可以看到對於每個瀏覽器類型,都有許多屬性,如動態HTML、樣式表、JavaScript版本、檔案上傳能力、SSL(Secure Sockets Layer)支援、作業系統細節以及語言等。與Microsoft的Browser Capability組件一樣,也可以添加自己的內容。這裡還有一個非常有用的具有嚮導風格的特性,能協助我們把新的瀏覽器類型添加到定義檔案中,如圖6-27所示:

       BrowserHawk組件具有辯認出新的瀏覽器(採用一項特殊的模式比對演算法)以及那些預設支援的一系列瀏覽器的能力,包括Opera和WebTV。使用過濾功能添加新屬性也很容易。
       當然,BrowserHawk組件的最大優點可能是定期對來自Cyscape公司的Web網站的瀏覽器定義檔案新版本進行自動檢測,同時把一些內容吸收合并到當前使用的定義檔案裡,這意味著沒有必要不斷地將定義檔案拷貝到所有的Web伺服器中。
       BrowserHawk組件使用起來比較容易,與Browser Capability組件是相容的,需要做的是在建立組件執行個體的Server.CreateObject方法或<OBJECT>元素中改變ProgID。把“MSWC.BrowserType”改為“cyScape.browserObj”。
       Set objBCap = Server.CreateObject(“cyScape.browserObj”)
       對可能出現的問題,應該閱讀BrowserHawk組件的文檔。       可從Cyscape公司的Web網站(http://www.cyscape.com)下載BrowserHawk的拷貝。本章中已經包含了使用BrowserHawk組件的樣本網頁,使讀者能夠瞭解如何使用BrowserHawk組件,在Chapter06目錄下的BrowserHawk子目錄中可尋找到這個樣本頁面。
6.3.2 SA-FileUP組件
       在很多Web網站上,一個常規要求是,伺服器接受客戶機發送的檔案的能力如何?在IIS 4.0裡,Microsoft提供了一個名為Posting Acceptor組件完成這項工作,IIS 5.0和ASP 3.0的標準安裝中沒有該組件,如果安裝Site Server Express的話,則需要包含這一組件。可以從Microsoft Web網站http://www.microsoft.com/windows/software/webpost/post_accept.htm上下載該組件。
       然而,很多人發現Posting Acceptor組件在功能上有局限性且很難編程。現在一個流行的替代品是來自Software Artisans的SA-FileUP組件。與Posting Acceptor組件(僅是ISAPI型過濾器)不同,SA-FileUP組件是一個真正的ActiveX DLL伺服器組件,容易整合到ASP網頁中。這意味著可以使用別的ASP頁面或組件上使用的相同的有關設定頁面安全保護及限制使用者訪問的技術。該組件也可在MTS/COM+的環境中上運行。
       使用SA-FileUP組件的教程可在http://www.activeserverpages.com/upload/網站上找到,所以這裡只給出了結果。本章的樣本中包含了使用該組件的樣本頁面(在Chapter06目錄下的SAFileUP子目錄中),可用來瞭解如何使用該組件,有必要的話可從Software Artisans網站http://www.softartisans.com/上下載SA-FileUP的拷貝。
       使用SA-FileUP組件
       SA-FileUP組件的樣本頁面建立了一個簡單的頁面,包含一個FileUpload元素和一個按鈕,並使用了HTML的INPUT元素,如圖6-28所示:

<FORM ACTION="safileup_response.asp"
                     ENCTYPE="MULTIPART/FORM-DATA" METHOD="POST">

<INPUT TYPE="FILE" NAME="FILE1">

<INPUT TYPE="SUBMIT" NAME="SUB1" VALUE="Upload File">

</FORM>
使用者提交表單時,其中的內容傳送給了伺服器,並且ASP頁面建立了一個組件執行個體,並且開始向伺服器上傳資訊,以後組件返回一系列描述上傳的檔案的資料,如圖6-29所示:

SA-FileUP組件讀取檔案並把它以標準的磁碟檔案或二進位的資料庫資料的形式暫存在伺服器上。有了它,就能用ASP控制上傳過程、限制上傳檔案的大小,甚至刪除上傳檔案,也能動態地改變其名字和上傳檔案的位置。

6.3.3 RegEx註冊表訪問組件
       Microsoft IIS 4.0提供的一個樣本組件能夠訪問伺服器上的系統註冊表。這個功能有助於檢查諸如安裝的軟體的版本,或者檢查IIS和作業系統使用的各種參數。
       在IIS 5.0中取消了這個組件,但如果需要這個功能,可以從其他商用版本中獲得。RegEx組件是其中之一,能夠訪問本地機器註冊表的任何部分(假如允許目前使用者訪問)。在ASP頁面的匿名訪問中,目前使用者是IUSR_machinename帳戶。
1.  RegEx組件的成員
RegEx組件提供了四個讀寫註冊表的方法和一個訪問內部組件版本資訊的方法,如表6-11所示。全部資訊和文檔隨RegEx組件提供,其測試版本可以從http://www.stonebroom.com/下載。其附帶的樣本頁麵包含在本書提供的樣本中,然而你需要自己下載組件本身。
表6-11  RegEx 組件方法及說明
方 法
說 明

GetRegValue(RegistryHive,SubKeyString)
從註冊表中返回給定的子鍵的預設值,如果其值不能訪問的話,則返回一個Null 字元串

SetRegValue(RegistryHive,SubKeyString,
NewValue)
在給定的子鍵中,建立或更新“預設”值,把資料類型設定成Reg_SZ(字串)。如果更新成功的話,返回True;否則,返回False

GetRegValueEx(RegistryHive,SubKeyString,
ValueMane,ValueType)
從特定的子鍵中返回被命名的值,用返回數值的資料類型,更新方法的最後一個參數所指定的變數。如果數值不能訪問的話,則返回一個Null 字元串,並且REG_ERROR作為資料類型

SetRegValueEx(RegistryHive,SubKeyString,
ValueName,NewValue,ValueType)
在給定的子鍵中,建立或更新被命名的數值,把資料類型設定為方法的最後一個參數指定的類型data_type。如果更新成功的話,返回True;否則返回False

GetInternalVersionNumber()
返回組件的組建號,如果是一個測試版本,傳回值之中也包含這些資訊

2.  使用RegEx組件
RegEx組件提供了一個用Visual Basic編寫的樣本程式,可用來實驗其中包含的方法,執行個體程式使用RegEx組件,允許對系統註冊表的任何部分以所支援的資料類型之一或以預設的字串資料型別讀寫資料,如圖6-30所示。在進行任何更新之前會顯示一個警告以防止意外操作。

另外還有一個比較簡單的ASP執行個體,可顯示Web伺服器註冊表中的一些資料,並且允許讀和設定一個“測試”子鍵。可以修改這個頁面,在你自己的應用程式中使用時沒有限制。圖6-31所示的是在NT4和IIS 4.0上啟動並執行結果。


要記住,改變註冊表中的數值可能導致系統不正常地工作,編輯註冊表內容這前應該備份註冊表檔案。

6.4 小結
       本章討論了ASP如何利用伺服器組件增加其他組件所不能提供的特性,也考慮了伺服器組件和其他類型的ASP對象(如ASP內建的對象和在指令碼運行期庫中的對象)的區別。
       在研究由ASP 3.0和IIS 5.0提供的可安裝組件之後,介紹了三個提供常規要求的功能的商用組件,也列出了幾個可以從Web上下載的萬用群組件,其中有一些是免費的或者是共用/測試版本。       然而,至今我們還有一個很重要的組件沒有涉及到,它就是ADO。在討論這個問題之前,先來討論另一個基本問題:錯誤處理和程式調試。




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。