ASP 調用C#編寫的DLL的方法
前一陣子一直在忙一個項目,其中要用到ASP調用C#的DLL,網上資曆料不少,總結了一下,寫個例子
出來
首先建立一個類庫的項目
之後編寫一個介面,ASP要調用的對象實現這個介面,代碼如下(要有一個沒有參數的建構函式)
using System;
using System.Runtime.InteropServices;
namespace Test
{
[Guid("123AC4E1-BEB0-45a1-BE3F-91BDD16A117A")]
public interface ITest
{
[DispId(0)]
string TestString();
}
public class Test : ITest
{
//從工具下的建立GUID取得
public Test()
{
}
#region ITest 成員
public string TestString()
{
return "Test";
}
#endregion
}
之後對這個類進行強簽名(如果這個DLL調用的其它DLL的話,也要進行強簽名),運行Visual
Studio 2003 .net 命令提示,執行sn -k 後加輸出的DLL所在目錄,如sn -k 檔案路徑\test.snk,之後會生
成test.SNK檔案,開啟AssemblyInfo.cs檔案,在[assembly: AssemblyKeyFile("")]裡填寫產生的SNK檔案
的路徑,如[assembly: AssemblyKeyFile("檔案路徑\\test.snk")],之後重新編譯
使用regasm工具對程式集進行註冊,運行Visual Studio 2003 .net 命令提示,執行regasm /tlb
DLL檔案
之後使用gacutil工具將DLL程式集安裝到全域組件快取中,也是先運行Visual Studio 2003 .net
命令提示,再執行gacutil /i 要註冊的DLL的路徑
之後就可以asp裡調用測試啦
sn.exe
regasm.exe
gacutil.exe
這三個工具都可以在Visual Studio .net 2003的安裝目錄下的SDK\v1.1\Bin目錄下找到