[置顶] 欢迎您。今天是2023年03月30日。

动态联接库(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的参数,请参考:

http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cptools/html/cpgrfassemblyregistrationtoolregasmexe.asp

您可能也喜欢

最近在搞extjs,使用的版本是2.2,服务器端采用asp,方便省事。asp好久没摸了,以前关于这块的内容不知道放哪去了,反正是在电脑里,巴拉老半天也找不到,所以还是重新搞一搞吧,搞了老半天才搞出个模样,还是记录一下吧,免得又忘了。下面是js方式。

二维码
摄像头