在ASP文件中調(diào)用DLL
動態(tài)聯(lián)接庫(DLL)是加快應用程序關鍵部分的執(zhí)行速度的重要方法,但有一點恐怕大部分人都不知道,那就是在ASP文件也能通過調(diào)用DLL來加快服務器的執(zhí)行速度,下面我簡單的介紹一下在ASP文件調(diào)用DLL的步驟。
首先,必須得有DLL文件,本例是通過VB5.0創(chuàng)建ActiveX DLL文件,這個文件模擬了一個擲色子的過程。
在VB5.0的環(huán)境下,新建一個工程,并雙擊新建工程窗口中ActiveX DLL圖標,VB將自動為項目添加一個類模塊,并將該項目類型設置為ActiveX DLL。在屬性窗口將類模塊的名稱屬性改為clsDice。從工程菜單中,選擇工程屬性,將工程名稱改為MyDLL。從文件菜單中,選擇保存clsDice,將類模塊保存為myDice.cls。添加以下代碼:
Option Explicit
Private Max, Point As Integer
Public Property Get Result() As Integer
Result = Point
End Property
Public Property Get Maxpoint() As Integer
Maxpoint = Max
End Property
Public Property Let Maxpoint(num As Integer)
Max = num
End Property
Public Sub Throw()
Randomize
Point = Int(Rnd * Max) + 1
End Sub
Private Sub Class_Initialize()
Max = 6
End Sub
這個類模塊定義了clsDice對象的兩個屬性和一個方法,這些屬性和方法模擬了擲色子的過程。其中Maxpoint屬性表示色子的面數(shù),加入Property Let語句將使客戶能修改色子的面數(shù);Result屬性表示最后擲出色子的點數(shù);Throw方法代表擲色子的動作;Private Sub Class_Initialize語句將色子的面數(shù)缺省的設置為6面。
從文件菜單中,選擇生成MYDLL.DLL并將它保存到適當?shù)牡胤健V链?,我們就?chuàng)建了一個自己的DLL文件。
第二步要做的就是要在ASP文件中引用類clsDice。
ASP(活動服務器頁面Active Server Pages)的所有代碼都是在服務器上運行的,客戶只能查看以HTML形式傳回的結果。它使用“<%”和“%>”標記來標識腳本代碼,并不傳回客戶端,在代碼外部,使用HTML標記來標識內(nèi)容。在下面Dice.asp的代碼中使用了CreateObject函數(shù)創(chuàng)建了一個clsDice對象實例,該對象來自于上面創(chuàng)建的ActiveX.DLL--MYDLL.DLL文件,下面的例子使用了VBScript腳本語言。
’裝載 METADATA 標簽中指定的類型庫。 Path是mydll.dll在機器上存放的路徑
<%
On Error Resume Next ‘當程序出現(xiàn)意外錯誤時能繼續(xù)執(zhí)行
If Request.Form("T1")="" then
Session("point") = 6
Else
Session("point")=Request.Form("T1")
End If
’用Session("point")來存放色子的面數(shù)
Set dice1=Server.Createobject("MyDLL.clsDice")
’使用set語句創(chuàng)建dice1對象,其中MyDLL是上面創(chuàng)建dll文件時的工程名稱(注意:不是文件的名稱),clsDice為類模塊的名稱。至此我們就可以用Maxpoint,Result和Throw屬性(方法)來對dice1對象進行操作。
If Request.ServerVariables("Request_Method")="POST" then
dice1.Maxpoint
更多信息請查看IT技術專欄