动态联接库(DLL)可以加快应用程序关键部分的执行速度,同时通过统一的COM接口调用,对DLL的使用也可以最大限度地发挥组件的重用性。用户不必关心DLL采用什么语言编写,只需关注其提供了哪些功能及接口参数,便可以为我所用。
目前,基于.Net技术编写的DLL组件越来越多,而传统的ASP中如果也可以应用这些组件提供的功能,可以避免很多程序员无谓的劳动。
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 mydll.dll /tlb:mydll.tlb /CodeBase
注意CodeBase的使用,如果你要注册的.NET程序集没有强名称的话,那么在使用regasm注册的时候就要加上/CodeBase。
注册完毕,创建对象及使用方法与上面相同:
set mydll = server.createobject("mydll.method");
mydll.method;
其实,不只是ASP,其他的COM程序(包括VBA、扩展存储过程等等)调用DLL的方法都是一样的。
有关于regasm的参数,请参考:
最新评论