摘要:用.Net開發元件讓ASP呼叫
前言
之前開發ASP的時候,遇到圖形處理總是很麻煩,要用MD5加密,也要複製一堆程式,
而這些在.net中已經都有很方便的元件可以很快速的套用,
因為一些系統是用ASP開發的,所以要全改用.Net是比較難的,
所以如果可以用.Net開發一些元件讓ASP呼叫的話,應該會讓事情簡單許多!
如果你也有這方面的需求的話,那就繼續看下去吧!
或許下面的方式對你有幫助!
步驟
第一步 - 建立專案
- 開啟Visual Studio .Net
- 建立一個新的[類別庫]專案
- 加入參考[System.EnterpriseServices]
- 在class1.vb的最上方加入
Imports System.EnterpriseServices
Imports System.Runtime.InteropServices
<Assembly: ApplicationName("ImageClass")>
<Assembly: ApplicationActivation(ActivationOption.Server)>
<Assembly:ApplicationAccessControl(False, AccessChecksLevel:=AccessChecksLevelOption.ApplicationComponent)>
第二步 - 建立Key file
使用sn.exe產生Key file,
在Dos畫面執行下列的指令
>cd C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin
>sn –k 「D:\project\ImgCls\obj\Debug\mykey.snk」
建立完成後在AssemnlyInfo.vb中加入
<Assembly: AssemblyKeyFile("mykey.snk")>
然後建置方案.
第三步 - 安裝部署
將產生的dll檔放置在網站虛擬目錄下的bin資料夾裡,
然後在Dos畫面執行下列指令
>cd 「C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322」
>regasm "D:\myweb\bin\ImgCls.dll" /tlb /codebase
這個動作將會在bin資料夾中產生一個tlb檔.
第四步 - 簡易的ASP測試程式
使用下面的語法測試看看物件是否正常
Dim Obj
Set Obj = Server.CreateObject("ImgCls.ImgClass")
response.write(obj.Encrypt("ajun") & "<br>")
'記得要釋放物件
set obj = nothing
程式專案下載 : ImgCls.rar
後記
原本是要寫個縮小圖檔用的元件,不過之前寫的圖形處理元件不在手邊,
所以就先弄幾個範例而已!!
而這個範例還沒部署到其他電腦上過,所以不確定有沒有問題!
不過如果要重新部署的話,要先用regasm來反註冊,而IIS也要重新啟動,這樣才能覆蓋掉原本的dll檔,
然後再重新用regasm註冊就可以了!
原始參考網頁 :
Call a .NET component from an ASP page
http://www.codeproject.com/useritems/DotNetComponentAndASP.asp