如何通过ASP.NET调用COM?
在VC++z中利用ATL COM AppWizard写一个COM组件。
在VS.NET中利用“型别库导入工具”(TlbImp.exe),从COM组件的型别库生成一个装配件,这样受控代码就能通过访问这个装配件对象来访问COM组件对象。
用ildasm.exe(VS.NET自带工具)察看生成的装配件。
装配件中,我们主要关注这几个接口函数:
System.String GetFile ( )
void SetCmd ( System.Int32 nStepNum )
void SetFile ( System.String bstrFileIn )
new void SetLog ( System.String bstrFileIn )
就是原来我们在COM中定义的接口函数。
然后,在ASP.NET的C#代码中中添加对上面生成的装配件的引用,
再通过类似以下简单的几行代码实现COM组件的调用:
try
{
RUNLib.compileClass mc =new RUNLib.compileClass();
RUNLib.Icompile imc =(RUNLib.Icompile)mc;
TextBox1.Text = imc.GetFile();
//以下用于垃圾收集
mc=null;
imc=null;
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
}
catch(Exception ex)
{
Label5.Text ="Exception : " + ex.Message;
}
COM组件注册和配置。(以Widows 2000为例, Windows Server 2003和Windows XP类似)
单击“开始”,“运行”,填入Cmd.exe , 确定。
在命令行窗口,输入cd切换路径到COM组件所在目录,
假如组件是exe文件:输入组件名.exe /regserver ,回车;
假如组件是dll文件,输入 regsvr32 组件名.dll,回车;
关闭命令行窗口。
单击“开始”,“运行”,填入 Dcomcnfg.exe ,按回车。
选中 server(组件名) ,单击 “属性”
单击“安全性”,选择“使用自定义启动权限”,单击“编辑”,添加用户ASPNET , 访问类型:允许调用。一路 确定,退出 “分布式COM配置”程序。
本文地址:http://www.45fan.com/dnjc/71834.html