.Net中COM组件兼容性的问题

最近在.NET中使用iOffice OWC组件时,不小心碰到了Com组件兼容性的问题,以前没有注意到相关问题,昨天查了些资料暂时将这个问题解决了。shades_smile.gif

方法一:在使用组建的页面添加<%@ Page aspcompat=true %>

        由 Visual Basic 6.0 等早期生成的 COM 组件调用了单线程运行单元(STA)。为了避免 ASP.NET 产生兼容性错误,我们可以在 <%@ page > 标记里设置 aspcompat 属性,以指示 ASP.NET 在 ASP 兼容模式下执行它。如果不以这种方式执行会出现安全错误。

        如果将此标记的值设为 true,还可以调用COM+1.0组建,但是这种方式性能会稍微有些下降。

方法二:NET 框架 SDK 在文件 Tlbimp.exe 中附带了一个名为类型库导入程序 (TlbImp) 的实用工具,该工具通过围绕组件生成托管包装将 DLL 文件中的标准 COM 组件转换为等效的 .NET 框架程序集。转换后的组件可以早期绑定到托管代码以获得显著提高的性能。

          这个方法应该是可以的,但是还没有去实验。

需要注意的是使用 Interop Assembly 时,虽然 ASP.NET 本身无法判断 COM 组件是否调用 STA,但是通过 aspcompat 属性可以避免由于 STA 引起的效率过低或者死锁。

         

转载于:https://www.cnblogs.com/foolboy/archive/2004/04/28/7866.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值