COM+ 1.5 中的新增功能

COM+ 版本 1.5 添加了新功能,这些功能旨在提高开发人员和系统管理员 COM+ 应用程序的总体可伸缩性、可用性和可管理性。

COM+ 1.5 从 Windows XP 和 Windows Server 2003 开始提供。 新的 COM+ 1.5 功能在 2000 Windows中不可用。

Application-Level启用的访问检查

作为系统增强安全性的一部分,在创建 COM+ 应用程序时,默认情况下会启用访问检查。 在早期版本中,访问检查默认在应用程序级别禁用,在组件级别默认启用。 从 Windows Server 2003 开始,默认情况下在应用程序级别启用访问检查,在组件级别默认禁用访问检查。 请参阅创建新的 COM+ 应用程序为应用程序启用访问检查和在组件级别启用访问检查,详细了解如何更改默认设置的过程。

应用程序共用

使用应用程序集合中 COMAdminCatalogObject对象的新 ConcurrentApps 属性,COM+ 应用程序池为单线程进程增加了可伸缩性,并与新的 COM+ 应用程序回收服务集成。 有关详细信息 ,请参阅 COM+ 应用程序池。

应用程序回收

应用程序回收显著提高了应用程序的整体稳定性。 由于由于内存泄漏、依赖于第三方代码和不可缩放的资源使用等因素,大多数应用程序的性能可能会随着时间的推移而下降,因此 COM+ 应用程序回收提供了一个简单的解决方案,可以正常关闭与应用程序关联的进程并重启它。 有关详细信息 ,请参阅 COM+ 应用程序回收。 有关配置进程回收的分步过程,另请参阅组件服务管理帮助中的"配置进程回收"。

COM+ 分区

在此版本中,COM+ 引入了对 COM+ 分区的支持,该功能允许在同一计算机上安装和配置多个版本的 COM+ 应用程序。 此功能可以节省使用多个服务器管理不同版本的应用程序的成本和耗时工作。 在单个计算机上,每个分区实际上充当虚拟服务器。 将应用程序安装到每个分区后,创建将用户映射到逻辑服务器的分区集。 请参阅 COM+ 分区 ,详细了解如何设置和管理 COM+ 分区。 有关分步过程,另请参阅组件服务管理帮助中的"管理应用程序分区"。

不带组件的 COM+ 服务

使用 COM+ 1.5,可以使用 COM+ 提供的服务,而无需生成组件来包含调用这些服务的方法。 这极大地有利于通常不使用组件但想要使用 COM+ 服务(如事务或 COM+ 跟踪器)的开发人员。 通过使用不带组件的 COM+ 服务,开发人员可以避免创建仅用于访问所需的 COM+ 服务的组件的开销。 有关详细信息 ,请参阅不带组件的 COM+ 服务。

COM+ SOAP 服务

使用 COM+ 1.5,现在可以将 COM+ 应用程序公开为 XML Web 服务。 还可以以透明方式使用 XML Web 服务(无论是否使用 COM+ 部署)作为 COM 组件。 这意味着,可以轻松地从现有 COM+ 应用程序创建新的 XML Web 服务,并轻松地将 XML Web 服务合并到新的 COM+ 应用程序中。 有关详细信息 ,请参阅 COM+ SOAP 服务。

可配置的隔离级别

COM+ 开发人员可以使用新的 TxIsolationLevel 属性或组件服务管理工具,根据需求配置应用程序的隔离级别,帮助提高并发性、性能和可伸缩性。 这种灵活性使具有合适专业知识的用户可以从应用程序获取最后一分吞吐量。 有关详细信息 ,请参阅配置 事务隔离级别。

创建专用组件

如果应用程序中有几个帮助程序组件,而这些组件只能从该应用程序内的其他组件调用,则此版本的 COM+ 使你能够使用新属性 IsPrivateComponent 将这些组件标记为私有。 (在 COM+ 的早期版本中,所有组件必须都是公共的才能访问 COM+ 服务,这意味着这些组件可以从其他应用程序激活。) 只有同一应用程序中的其他组件才能看到和激活专用组件,从而可以进一步控制要公开的功能。 你只需记录和维护公共组件,同时使用无法从应用程序外部访问但仍可以利用所有 COM+ 服务的专用组件。

DTC 安全设置

为 DTC 存储添加了多个Microsoft 分布式事务处理协调器 (安全设置) ,让你能够自定义安全级别以管理分布式事务。 请参阅有关这些设置以及如何实现这些设置的 DTC 安全注意事项。

为了便于相互身份验证,DTC 限制为在 NetworkService 帐户下运行。 有关详细信息,请参阅管理帐户和特权。

对于使用 XA 数据库进行恢复,建议为 NetworkService 帐户提供执行此恢复所需的权限和角色。 执行此操作的确切方法特定于每个数据库。 有关详细信息,请参阅禁用本机分布式事务和禁用 TIP 和 XA 事务。

为了帮助在使用 XA 事务时提供更安全的系统,Windows Server 2003 平台包含用于指定 XA DLL 文件的新注册表项。 升级到 Windows Server 2003 时,可以像以前一样使用 XA 事务,在 HKEY _ LOCAL _ MACHINE SOFTWARE Microsoft \ \ \ MSDTC \ XADLL 下创建注册表项,其中值名称是 dllname.dll) 格式的 DLL (的名称,值是 DLL 文件的完整路径。 需要为使用的每个 XA DLL 文件创建一个条目。 如果运行 DTC 的计算机是群集的一部分,需要为群集中的每个节点创建注册表项。 有关详细信息,请参阅管理 XA 事务。

Low-Memory激活入口

在此版本中,COM+ 在创建 COM+ 服务器或对象之前会自动检查内存。 如果可用于应用程序的虚拟内存的百分比低于固定阈值,则激活会失败,然后再创建对象。 通过使通常运行的这些激活失败 ,COM+ Low-Memory激活入口服务极大地提高了系统可靠性。

移动和复制 COM 组件

通过此版本,COM+ 允许移动和复制组件。 这意味着可以多次配置组件的单个物理实现。 可以在二进制级别(而不是源代码级别)重用组件,从而减少代码、降低开发成本和加快上市时间。 有关详细信息,请参阅移动组件和复制组件。

网络访问

默认情况下,COM+ 网络访问在 Windows Server 2003 上处于禁用状态,这意味着默认情况下只能在本地使用 COM+ 。 使用以下过程启用网络 COM+ 访问。

启用网络 COM+ 访问

  1. 在"开始" 菜单上 ,控制面板, 然后选择"添加或删除程序"。

  2. 单击 "添加/删除Windows组件"。

  3. 选择 “应用程序服务器” ,然后单击 “详细信息”

  4. 选中"启用网络 COM+ 访问"旁边的框,然后单击"确定 "。

  5. 单击 "下 一步"完成Windows组件向导。

  6. 单击 "完成 "关闭向导。

默认情况下,DTC 网络事务访问在 Windows Server 2003 上处于禁用状态。 在这些平台上,DTC 默认情况下只能执行本地事务。 使用以下过程启用网络 DTC 访问。

备注

也可通过使用组件服务管理工具或通过 COM+ 管理库以编程方式启用网络 DTC 访问。 有关过程信息,请参阅组件服务管理帮助中的"配置 DTC 安全性"。

启用网络 DTC 访问

  1. 在"开始" 菜单上 ,控制面板, 然后选择"添加或删除程序"。

  2. 单击 "添加/删除Windows组件"。

  3. 选择 “应用程序服务器” ,然后单击 “详细信息”

  4. 选中"启用网络 DTC 访问"旁边的框,然后单击"确定 "。

  5. 单击 "下 一步"完成Windows组件向导。

  6. 单击 "完成 "关闭向导。

暂停和禁用应用程序

COM+ 应用程序现在更具可管理性。 管理员可以暂停和恢复 COM+ 服务器应用程序,或禁用和启用 COM+ 库或服务器应用程序,甚至是单个已配置的组件。 暂停和禁用功能可防止将来激活,而不会影响现有组件实例。 有关详细信息,请参阅组件服务管理帮助中的"管理 COM+ 应用程序"。

进程转储

在生产环境中对应用程序进行故障排除并非易事。 如何在不干扰正在运行的进程的情况下收集有关问题的信息? COM+ 现在通过其新的进程转储功能提供解决方案。 此功能允许系统管理员在不终止进程的情况下转储进程的整个状态。 有关详细信息,请参阅组件服务管理帮助中的"管理用于调试 COM+ 应用程序的进程转储工具"。

进程初始化

许多服务器应用程序在启动和关闭时需要进行特定的初始化和清理。 在 Windows Server 2003 上运行时,可以创建一个实现 IProcessInitializer接口的类。 当进程启动时,它会调用 IProcessInitializer:: Startup ,并在关闭时调用 IProcessInitializer:: Shutdown。 这样,组件便有机会执行所需的任务,例如初始化连接、文件和缓存。

作为 NT 服务运行 COM + 应用程序

现在,COM + 开发人员可以使用 "组件服务" 管理工具将 COM + 服务器应用程序配置和实现为 NT 服务。 这意味着,如果应用程序始终需要运行,则可以自动启动或重新启动服务器;如果 COM + 应用程序需要执行特权操作,则可以将其作为本地系统帐户运行;您的应用程序的依赖服务现在可以自动启动。 有关详细信息,请参阅 作为服务应用程序运行的 Com + 应用程序

并行程序集

并行 (SxS) 程序集允许应用程序指定要使用的系统 DLL 版本或经典 COM 组件(如 MDAC、MFS、MSVCRT.LIB 或 MSXML)。 例如,如果 ASP 应用程序依赖于 MSXML 版本2.0,则可以确保即使在将 service pack 应用到服务器之后,此应用程序仍然使用 MSXML 版本2.0。 也就是说,即使在计算机上安装了新版本的 MSXML,应用程序仍将使用版本2.0。

若要配置 SxS 程序集,需要知道 DLL 的路径,并且每个需要使用 DLL 的虚拟目录中都存在 COM + 清单文件。 COM + 清单是一个 XML 文件,其中包含有关安装 DLL 的位置的信息。 清单用于为应用程序创建激活上下文。 激活上下文允许应用程序加载特定的 DLL 版本、COM 对象实例或自定义窗口版本。 可以使用 "组件服务" 管理工具或 ApplicationDirectory 属性输入包含有效 SxS 程序集清单文件的应用程序根目录的完整路径。 有关详细信息,请参阅 独立应用程序和并行程序集

Windows 错误报告

com + 1.5 支持 Windows 错误报告 (WER) 组件,可从 Windows XP 开始使用。 WER 使用户能够向 Microsoft 通知应用程序故障、内核错误和无响应的应用程序。 这些通知允许 Microsoft 客户支持团队更有效地解决技术问题。 此外,Windows 错误报告组件允许 com + 开发人员接收可用于改进其应用程序的信息。 有关详细信息,请参阅 Windows 错误报告