利用Visual Basic把ASP編寫成DLL

2021-06-22 02:45:07 字數 1916 閱讀 5407

這篇文章主要是為想將自己的asp水平提高的人寫的!把asp**變成元件,開發者不僅是加快了asp的速度,而且也能保護自己的**.這篇文章寫出來,也是為了給想開發元件網友上一堂入門課! 下面,我們會來編寫乙個非常簡單的元件,重點是知道怎樣開發dll元件,而不是其複雜的**!這些都要靠你們自己以後的努力了.

伺服器端元件

首先,伺服器端的元件要有別於客戶端的元件.客戶端的元件是通過網路傳輸,依靠html來起作用.而且只能在ie上有用.但是伺服器端的元件是執行在伺服器端,它在伺服器上執行各種操作.因此,所有的瀏覽器都能享用,它依靠的是伺服器而不是瀏覽器.

當iis被請求執行乙個asp程式,它首先會在asp檔案中找到〈% %>標籤之間的**,並且執行它(也可以是〈script runat=server>〈/script>之間的**).如果這個asp程式在先前被呼叫過,那麼它就會用記憶體中的編譯過的程式來向使用者返回html**,如果沒有,那麼它就重新編譯.這裡asp就比cgi多一點速度優勢,因為cgi是每乙個請求都使用乙個執行緒.這樣就大大消耗了伺服器的資源.

想不想你寫的程式自己就能在iis執行!?!現在你就行了!使用vb5(當然現在是vb6了),你就能建立dynamic linked libraries (dll檔案),它能在iis上直接執行(如果有asp檔案來請求的話).

系統和軟體的要求

你需要乙個32位的作業系統來執行asp.當然你也得安裝iis或pws.我們下面的程式是在windows95+pws+vb5的環境下開發的.

我們開始吧

啟動你的vb,選擇activex圖示.這個圖示可以在新建工程找到!vb會提供乙個預設的工程名(project1)和類名(class1).我們會將這兩個名字都改掉.在改名之前,請首先確認我們擁有microsoft active server pages object library,它在我們的程式非常有用.從選單中選擇"工程",然後在其中選擇"引用",就會出現"引用"視窗從中選擇microsoft active server pages object library.

給工程和類命名

現在我們來根據自己的愛好來為project1和class1來命名吧!給它們命名也是很重要的,我們以後會用這個工程名和類名來建立這個元件的例項!後面詳細介紹.

如何改名,我就不想多說了!我們的工程名改為exmaple,類名為helloword

怎樣使用工程和類

現在我們有了我們自己的工程(example1)和類名(helloworld).以後我們就會在asp**中使用它們的名字來引用這個元件.在asp中我們就這樣引用,如下:

set objreference = server.createobject("projectname.classname")

對於我們工程的引用就是:set objreference = server.createobject("example1.helloworld")

現在我們就能用objreference來呼叫我們在元件中所建立的函式,子程式.下面我們會來寫乙個sayhello的子程式,我們執行它的**如下:

〈% set objreference = server.createobject("example1.helloworld") 

objreference.sayhello 

%>

為了在helloword類中使用asp的方法,你必須在此類中寫乙個onstartpage子函式.如下:

public sub onstartpage(passedscriptingcontext as scriptingcontext) 

set myscriptingcontext = passedscriptingcontext 

end sub

現在,無論什麼時候使用者訪問乙個帶有本元件的asp檔案,iis就會把scriptingcontext傳送給我們的物件請我們使用.這個scriptingcontext包括了全部的asp方法和屬性.實現上,這使得我們有能力訪問所有asp的物件.看下面的**:

利用htmlparser把html轉成xlm

最近在做一些網頁資訊採集的工作,說通俗點就是爬蟲工具,要監控頁面中某一部分內容是否發生變化。起初考慮用正規表示式去匹配網頁原始碼,經過諮詢有經驗人士,推薦使用xpath去獲取頁面內容能獲得更好的效率。但是對於html這種寬鬆語法要求的語言來說,不可能100 地完全符合xml標準,那麼就沒法使用xpa...

利用python把EXCEL檔案匯入Oracle

一 資料準備 1 excel資料準備 包含字串 整數 小數 科學計數法 空值 2 oracle建表 二 注意 必要時需要先刪除資料庫中資料再導數入庫。usr bin env python coding utf 8 import cx oracle import csv import xlrd imp...

Visual Basic 遮蔽編輯控制項

visual basic 遮蔽編輯控制項 確定控制項的輸入遮蔽。語法 form.maskededit.mask string 備註在設計時和執行時均可定義輸入遮蔽。不過,下面是在設計時可能想要使用的標準輸入遮蔽的示例。該控制項可以區分數字和字母字元以進行驗證,但是不能檢查內容是否有效,如月份或一天中...