ASP写程序大家都知道,源代码太容易被人看到了,要是能像.NET那样生成DLL就好了,便上网去搜索,可是没有找到有用的东西,只找到了一篇《在ASP中调用基于.Net开发的 DLL》的文章,确定了.NET可以生成DLL让ASP调用.仔细研究了下,得到了结果,好了,费话不说.先做吧! 首先打开Microsoft Visual Studio .NET 2003,点击文件,再点新建项目,Visual Basic 项目中的类库,将类库命名为dujian4,再点视图中的解决方案资源管理器,将class4.vb重命名为dujian4.vb,再将dujian4.vb中的Public Class class4改为Public class dujian4,将下面的代码加在Public Class dujian4与End Class之间
Public Function getfilename(ByVal d) Dim datetime datetime = CStr(d) Dim date1, time1 date1 = Split(d, " ")(0) time1 = Split(d, " ")(1) getfilename = Year(date1) & Month(date1) & Day(date1) & Hour(time1) & Minute(time1) & Second(time1) End Function Public Function gettimefilename(ByVal d) Dim datetime, date1 datetime = CStr(d) date1 = datetime gettimefilename = Year(date1) & Month(date1) & Day(date1) End Function Public Function HTMLEncode(ByVal fString) fString = Trim(fString) fString = Replace(fString, "'", "'") fString = Replace(fString, """", """) fString = Replace(fString, "/", "/") fString = Replace(fString, "'", "'") fString = Replace(fString, "--", "--") fString = Replace(fString, vbCrLf, "<br>") fString = Replace(fString, " ", "") HTMLEncode = fString End Function
你可以调试中的启动来调试要封装的程序.调试成功后,我们就要生成了,点击解决方案资源管理器,右键单击dujian4点属性.在弹出的对话框中,将配置属性中的生成里面的为COM Interop 注册(R)钩上,是为了让VS.NET在编译生成时就自动注册它.设置好后点应用,确定.回到解决方案资源管理器中,对dujian4单击右键,点生成,这样你要封装的代码就生成了dujian5.dll了.再通过以下的程序调用
<% set ofile=Server.CreateObject("dujian4.dujian4") file1=ofile.getfilename(now()) set ofile=nothing %> <%=file1%> 这里只是做了一个简单的演示,调用了其中的一个生成文件名的函数! 如果你要在其它的系统上调用,请参考在《ASP中调用基于.Net开发的 DLL》这篇文章 用regasm dujian5.dll /tlb:dujian5.tlb /CodeBase 来注册这个DLL. 希望对大家能有所帮助!
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 path/mydll.dll /tlb:path/mydll.tlb /CodeBase
regasm /unregister path/name.dll(卸载方法) 注意CodeBase的使用,如果你要注册的.NET程序集没有强名称的话,那么在使用regasm注册的时候就要加上/CodeBase。 注册完毕,创建对象及使用方法与上面相同: set mydll= server.createobject("mydll.method") mydll.method
其实,不只是ASP,其他的COM程序(包括VBA、扩展存储过程等等)调用DLL的方法都是一样的