ASP调用C#编写的DLL的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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目录下找到