CSDN博客

img tohigh

ASP.NET调用COM

发表于2004/6/26 14:37:00  4314人阅读

分类: .NET

在VC++z中利用ATL COM AppWizard写一个COM组件。
   在VS.NET中利用“型别库导入工具”(
TlbImp.exe),从COM组件的型别库生成一个装配件,这样受控代码就能通过访问这个装配件对象来访问COM组件对象。

ildasm.exeVS.NET自带工具)察看生成的装配件。

如图所示:

装配件中,我们主要关注这几个接口函数:

System.String GetFile (  )

void SetCmd ( System.Int32 nStepNum )

void SetFile ( System.String bstrFileIn )

new void SetLog ( System.String bstrFileIn )

就是原来我们在COM中定义的接口函数。

 

然后,在ASP.NETC#代码中中添加对上面生成的装配件的引用,
再通过类似以下简单的几行代码实现
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配置”程序。

0 0

相关博文

我的热门文章

img
取 消
img