ASP寫程式大家都知道,原始碼太容易被人看到了,要是能像.NET那樣產生DLL就好了,便上網去搜尋,可是沒有找到有用的東西,只找到了一篇《在ASP中調用基於.Net開發的 DLL》的文章,確定了.NET可以產生DLL讓ASP調用.仔細研究了下,得到了結果,好了,費話不說.先做吧!
首先開啟Microsoft Visual Studio .NET 2003,點擊檔案,再點建立項目,Visual Basic 項目中的類庫,將類庫命名為dujian4,再點視圖中的方案總管,將class4.vb重新命名為dujian4.vb,再將dujian4.vb中的Public Class class4改為Public class dujian4,將下面的代碼加在Public Class dujian4與End Class之間
Public Function getfilename(ByVal d)
Dim datetime
datetime = CStr(d)
Dim date1, time1
date1 = Split(d, " ")(0)
time1 = Split(d, " ")(1)
getfilename = Year(date1) & Month(date1) & Day(date1) & Hour(time1) & Minute(time1) & Second(time1)
End Function
Public Function gettimefilename(ByVal d)
Dim datetime, date1
datetime = CStr(d)
date1 = datetime
gettimefilename = Year(date1) & Month(date1) & Day(date1)
End Function
Public Function HTMLEncode(ByVal fString)
fString = Trim(fString)
fString = Replace(fString, "'", "'")
fString = Replace(fString, """", """)
fString = Replace(fString, "/", "/")
fString = Replace(fString, "'", "'")
fString = Replace(fString, "--", "--")
fString = Replace(fString, vbCrLf, "<br>")
fString = Replace(fString, " ", "")
HTMLEncode = fString
End Function
你可以調試中的啟動來調試要封裝的程式.調試成功後,我們就要產生了,點擊方案總管,按右鍵dujian4點屬性.在彈出的對話方塊中,將配置屬性中的產生裡面的為COM Interop 註冊(R)鉤上,是為了讓VS.NET在編譯產生時就自動註冊它.設定好後點應用,確定.回到方案總管中,對dujian4單擊右鍵,點產生,這樣你要封裝的代碼就產生了dujian5.dll了.再通過以下的程式調用
<%
set ofile=Server.CreateObject("dujian4.dujian4")
file1=ofile.getfilename(now())
set ofile=nothing
%>
<%=file1%>
這裡只是做了一個簡單的示範,調用了其中的一個組建檔案名的函數!
如果你要在其它的系統上調用,請參考在《ASP中調用基於.Net開發的 DLL》這篇文章
用regasm dujian5.dll /tlb:dujian5.tlb /CodeBase 來註冊這個DLL.
希望對大家能有所協助!
1、在ASP中調用傳統的ActiveX DLL
要想讓COM能夠“看到”你的組件,必須先將組件註冊到註冊表中:
regsvr32 mydll.dll
然後在ASP中建立對象:
set mydll= server.createobject("mydll.method")
mydll.method
這樣就可以使用組件中的屬性和方法了。
2、在ASP中調用基於.Net開發的 DLL
關於組件註冊,一種方法是自動註冊,在vs.net2003或2005的IDE環境中可以實現COM組件的自動註冊,設定如下:項目名稱->右鍵"屬性"->配置屬性->產生->選中"為Com Interop註冊",編譯即可。
另一種方法是手動註冊:
regasm path/mydll.dll /tlb:path/mydll.tlb /CodeBase
regasm /unregister path/name.dll(卸載方法)
注意CodeBase的使用,如果你要註冊的.NET程式集沒有強式名稱的話,那麼在使用regasm註冊的時候就要加上/CodeBase。
註冊完畢,建立對象及使用方法與上面相同:
set mydll= server.createobject("mydll.method")
mydll.method
其實,不只是ASP,其他的COM程式(包括VBA、擴充預存程序等等)調用DLL的方法都是一樣的