VS.net封裝asp為Dll

來源:互聯網
上載者:User

 

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的方法都是一樣的
 

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.