ASP.NET调用COM

原创 2004年06月26日 14:37:00

在VC++z中利用ATL COM AppWizard写一个COM组件。
   在VS.NET中利用“型别库导入工具”(
TlbImp.exe),从COM组件的型别库生成一个装配件,这样受控代码就能通过访问这个装配件对象来访问COM组件对象。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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 ,按回车。<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 


选中 server(组件名) ,单击 “属性”



单击“安全性”,选择“使用自定义启动权限”,单击“编辑”,添加用户ASPNET , 访问类型:允许调用。一路 确定,退出 “分布式COM配置”程序。

NET中如何引用COM组件

如果您是初次学习.NET,说不定会尝试着去学习怎样使用COM组件,为了让您少走弯路,我把我所遇到的问题写下来,与大家共享。同时也希望与您一起交流,共同提高。联系方式:电话:0571-88021712 ...
  • lvboliang
  • lvboliang
  • 2007年06月05日 21:15
  • 1089

.NET调用Com组件事例

在程序设计中,往往通过键盘的某个按键来完成相关操作!  下面就来说明如何实现: 1.引入名称空间;using System.Runtime.InteropServices;(由于使用到API(user...
  • shizhiyingnj
  • shizhiyingnj
  • 2007年02月11日 23:23
  • 7171

Asp.Net中Word,Excel等office com组件操作权限的问题

近日在打开原来写的一个网页程序运行时,出现了Excel操作权限的问题,具体的说就是在代码中调用下面这段与Excel操作有关的语句时,   Application curExcelApp = new ...
  • yuanbeng265
  • yuanbeng265
  • 2014年05月06日 16:33
  • 197

asp.net 程序里面调用了excel组件,权限解决方案

在asp.net 程序里面调用了excel组件,但是将程序部署到iis里面会抛以下异常: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000...
  • zghnpdswyp
  • zghnpdswyp
  • 2016年09月27日 15:06
  • 510

asp.net中调用COM组件发布IIS时常见错误 80070005解决方案

很多人在.net开发Web站点中引用了COM组件,调试时一切正常,但一发布到IIS下就提示如下错误: 检索 COM 类工厂中 CLSID 为 {} 的组件时失败,原因是出现以下错误: 800...
  • orichisonic
  • orichisonic
  • 2017年05月19日 13:19
  • 311

在ASP.NET中释放com组件

Excel.Application  oExcel;  Excel.Workbook  oBook;  Object  oMissing  =  System.Reflection.Missing.V...
  • ywuwgij
  • ywuwgij
  • 2005年08月11日 11:24
  • 663

ASP.NET通用权限验证组件实现

沙发(SF)通用权限验证组件 开篇 本篇介绍通用权限验证的实现代码思路,总共分为导入参数、解析XML、根据XML配置进行处理、返回结果。 代码架构图 1.   类介绍 ...
  • shangfeng88
  • shangfeng88
  • 2014年08月16日 11:56
  • 277

asp.net调用com组件出现的问题

在做称重接口问题时,一切都弄好了,在VS 2005中正常运行,可是编译后放在IIS上就出现调用com类工厂失败,一直找不到原因  解决方法的帖子 http://topic.csdn.net/u/200...
  • zw400065
  • zw400065
  • 2010年09月15日 15:20
  • 346

让别人也可以访问你电脑上的ASP.NET MVC创建的网站

http://www.cnblogs.com/laoqi/p/4169184.html 最近在写一个网站,昨天刚写完,由于要和朋友一起测试,但是他电脑上没有环境,所以希望我在自己电脑...
  • y13156556538
  • y13156556538
  • 2017年06月30日 10:12
  • 341

IIS调用COM组件的权限问题

情形1 问题描述 C#.NET编写了一个webservice的接口,供公司的的其他地方发送和接收短信(采用的方式是:再服务器上安装...
  • BleuRever
  • BleuRever
  • 2016年03月02日 21:15
  • 3326
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET调用COM
举报原因:
原因补充:

(最多只允许输入30个字)