用户
 
密码
虚 拟 主 机
主 机 托 管
主 机 租 用
应 用 服 务
虚拟独立服务器



ASP.NET 功能列表
ASP.NET 主机FAQ
ASP.NET 快速入门
   什么是ASP.NET/优点何在?
可支持语言
ASP.NET Web窗体
  Web窗体介绍
ASP.NET Web服务
  Web服务介绍
ASP.NET 应用程序
  应用程序概述
缓存服务
  缓存概述
配置
   配置概述
配置文件格式
安全性
  安全性概述
本地化
     国际化概述 Overview
设置区域性和编码
本地化ASP.NET应用程序
使用资源文件
跟踪
    跟踪概述
跟踪记录到页输出
应用程序级跟踪记录
性能
    性能概述
性能优化提示
测量性能
ASP到ASP.NET的移植
     移植概述
语法和含义
语言兼容性
COM互操作性
示例应用程序
   个性化入口
电子商务店面
您的位置:首页>虚拟主机>ASP.NET

COM 互操作性

公共语言运行库使 .NET 对象能够无缝地与传统的 COM 组件相互操作。ASP.NET 向开发人员公开熟悉的 Server.CreateObject(ProgId) API 以创建 COM 的晚期绑定引用。

Dim myConn
myConn = Server.CreateObject("ADODB.Connection");

也可通过创建运行时可调用的包装 (RCW)(该包装优化非托管代码和托管代码间的调用性能),使用早期绑定的传统 COM 组件。可使用 .NET 框架 SDK 中包含的 Tlbimp.exe 实用工具创建 RCW。有关 Tlbimp.exe 的更多信息,请参阅“常见任务入门”互操作性一节。ASP.NET 性能一节包含有关比较晚期绑定与早期绑定的更多信息。

同 ASP 一样,也可以使用具有 progidclassid 属性的 <object> 标记来创建传统的 COM 组件。除了可以在页中使用 <object> 标记外,还可以在应用程序的 Global.asax 文件中使用该标记。在这种情况下,将对象添加到 Page.Application.StaticObjects 集合,并且只需使用它的 id 属性便可以编程方式访问它。注意,不能以静态方式在 Global.asax 文件中创建单线程单元 (STA) 对象,因为这样做会像在 ASP 中那样发生运行时错误。

此外,ASP.NET 继续支持现有的 ASP 内部接口 ObjectContext Intrinsic Flow、OnStartPageOnEndPage。支持这些接口意味着可以在 ASP.NET 页中使用现有组件(Commerce Server、Exchange 等等)。默认情况下不启用这些接口,但可通过下列页指令显式打开它们:

<%@ Page ASPCompat="true" %>

该指令使 ASP.NET 创建非托管的 ASP 内部对象并将它们传递到页中使用的 COM 组件。它还在 STA 线程池中运行页。有关信息,请参阅下节。

性能注意事项

在 ASP.NET 中,默认情况下线程池是多线程单元 (MTA) 模式,这会影响传统的单元线程 Visual Basic 5 和 Visual Basic 6 组件的性能。ASPCompat="true" 属性使 STA 线程池能够基于每页解决现有 Visual Basic 组件的性能问题。

在托管和非托管组件之间调用同样会引起封送开销,这将降低页的性能。每种方案都会产生不同的性能特点,因此在决定互操作性对应用程序是否合适时进行充分地测试是重要的。然而,几乎在所有方案中,重写托管代码中的 COM 组件都会带来性能收益。有关更多信息和重要提示,请参阅 ASP.NET 性能一节。

本节小结

1.ASP.NET 向开发人员公开熟悉的 Server.CreateObject API 以创建 COM 的晚期绑定引用。
2.也可通过创建运行时可调用的包装 (RCW)(该包装优化非托管代码和托管代码间的调用性能),使用早期绑定的传统 COM 组件。
3.ASP.NET 继续支持现有的 ASP 内部接口 ObjectContext Intrinsic Flow、OnStartPageOnEndPage。这些接口通过页指令 <%@ Page ASPCompat="true" %> 显式启用。
4.ASPCompat="true" 属性使 STA 线程池能够基于每页解决现有 Visual Basic 组件的性能问题。
5.几乎在所有方案中,重写托管代码中的 COM 组件都会提供性能收益。


感谢2001 Microsoft Corporation教材提供

  关于我们 联系方式 招聘启事 网站地图 合作伙伴  

Copyright 2001-2008 商务中国(www.bizcn.com) 短信名片:商务中国
总部地址:厦门软件园盛世大厦1-4楼(软件技术服务大楼裙楼) 邮编:361005 电话:0592-2577888
传真:
0592-2577188(汇款底单专用)  0592-2577111(其它各类传真)
上海分公司:上海市南京西路1081弄30号 邮编:200041
《中华人民共和国电信与信息服务业务》经营许可证 闽B2-20070003 网站备案号:闽B2-20040189