用.Net開發元件讓ASP呼叫

摘要:用.Net開發元件讓ASP呼叫

前言

之前開發ASP的時候,遇到圖形處理總是很麻煩,要用MD5加密,也要複製一堆程式,
而這些在.net中已經都有很方便的元件可以很快速的套用,
因為一些系統是用ASP開發的,所以要全改用.Net是比較難的,
所以如果可以用.Net開發一些元件讓ASP呼叫的話,應該會讓事情簡單許多!
如果你也有這方面的需求的話,那就繼續看下去吧!
或許下面的方式對你有幫助!

步驟

第一步 - 建立專案

  1. 開啟Visual Studio .Net
  2. 建立一個新的[類別庫]專案
  3. 加入參考[System.EnterpriseServices]
  4. 在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