IIS6.0下ASP的新增功能(4) 要点 即使该功能可在应用程序级别进行配置,在任何一个应用程序池中也只能使用一个版本的 COM+ 组件。例如,如果应用程序 App1 使用名为 Shop.dll 的 1.0 版的自定义 COM+ 应用程序,应用程序 App2 使用 2.0 版的 Shop.dll,则 App1 和 App2 不应位于同一个应用程序池中。如果它们位于同一个应用程序池中,则首先加载的应用程序加载与之对应的 Shop.dll 版本,在卸载这些应用程序之前,另一个应用程序只能被迫使用该版本。下列示例在默认网站应用程序 (W3SVC/1/ROOT) 上启用分区。请注意,只要设置了 AspEnableTracker 属性,AspAppServiceFlags 属性就发生改变。On Error Resume Nextset providerObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2")' 获得对名为“默认网站”的 ASP 应用程序的引用set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")WScript.Echo "Before: AspUsePartition = " & IIsWebVirtualDirSettingObj.AspUsePartitionWScript.Echo " AspPartitionID = " & IIsWebVirtualDirSettingObj.AspPartitionIDWScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags' 设置 ASP 应用程序以启用 COM+ 分区IIsWebVirtualDirSettingObj.AspUsePartition = 1' 将 AspPartitionID 属性设置为在组件服务管理器中配置的 GUID' 当您创建 COM+ 分区时IIsWebVirtualDirSettingObj.AspPartitionID = "{00000000-0000-0000-0000-000000000000}"' 将值保存到 IIS 配置数据库中IIsWebVirtualDirSettingObj.Put_()' 再次获得引用以刷新 AspAppServiceFlags 属性。set IIsWebVirtualDirSettingObj = Nothingset IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")WScript.Echo "After: AspUsePartition = " & IIsWebVirtualDirSettingObj.AspUsePartitionWScript.Echo " AspPartitionID = " & IIsWebVirtualDirSettingObj.AspPartitionIDWScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags跟踪程序:COM+ 跟踪程序允许管理员或开发人员调试 ASP 应用程序。例如,如果 Web 应用程序在服务器上产生问题,则可以启用 COM+ 跟踪程序,以便确定 ASP 页在何时加载、COM 组件在何时加载以及线程何时离开网页。在调试应用程序之后,可禁用 COM+ 跟踪程序,使应用程序返回到正常的执行速度。要在 IIS 端上启用 COM+ 跟踪程序,请在应用程序级别中设置 AspAppServiceFlags 配置数据库属性的 AspEnableTracker 标志。