来源:www.cncfan.com | 2006-8-30 | (有2123人读过)
有一个老项目是asp的,但是有些功能在asp上实现不了,.net中倒是很容易实现,所以就引出了标题所述是事情。 因为是第一次做,花了整整一天的时间,也走了一些弯路,现在把它总结一下。
Step 1. 在vs2003中新建一个类库项目,在"项目属性"-"配置属性"-"生成"中,设置"为 COM Interop 注册"为True
Step 2. 添加一个类,文件名无所谓 namespace TEST { public class dosm { .... public string test() { return "Hello, world!"; } } }
生成项目
Step 3. 新添加一个.asp文件 <% set obj=Server.CreateObject("TEST.dosm") response.write obj.test() %>
浏览这个.asp文件时显示 "Hello, world!", 成功调用 进行其他操作也是类似。
注意事项:
1.如果要在其他机器上使用这个组件,则把生成的.dll文件拷贝到对应的机器上,然后用"regasm your.dll /codebase" 进行注册,regasm 这个程序在 "%SystemRoot%\Microsoft.NET\Framework\%FrameworkVersion%"目录下。
2.返回的数据类型可能有一些限制,比如数组类型,在vbscript中就不怎么好访问(我没有试出来 :( ),不知大家有什么好方法
3.被调用的函数不能是静态函数,否则会找不到。
|