IIS6.0下ASP的新增功能(三)
2008-02-23 08:21:44来源:互联网 阅读 ()
下列示例在默认网站应用程式 (W3SVC/1/ROOT) 上启用并排集合。请注意,只要配置了 AspEnableTracker 属性,AspAppServiceFlags 属性就发生改变: On Error Resume Next
set providerObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2")
' 获得对名为“默认网站”的 ASP 应用程式的引用
set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")
WScript.Echo "Before: AspEnableSxs = " & IIsWebVirtualDirSettingObj.AspEnableSxs
WScript.Echo " AspSxsName = " & IIsWebVirtualDirSettingObj.AspSxsName
WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags
' 配置 ASP 应用程式以启用 COM 并排集合
IIsWebVirtualDirSettingObj.AspEnableSxs = 1
' 配置 AspSxsName 属性
IIsWebVirtualDirSettingObj.AspSxsName = "VersionInfo"
' 将值保存到 IIS 配置数据库中
IIsWebVirtualDirSettingObj.Put_()
' 再次获得引用以刷新 AspAppServiceFlags 属性。
set IIsWebVirtualDirSettingObj = Nothing
set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")
WScript.Echo "After: AspEnableSxs = " & IIsWebVirtualDirSettingObj.AspEnableSxs
WScript.Echo " AspSxsName = " & IIsWebVirtualDirSettingObj.AspSxsName
WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags
COM 分区:
COM 分区可用于将 Web 应用程式隔离到他们各自的 COM 分区中。这对于禁止一个 Web 应用程访问另一个 Web 应用程式的专用 COM 应用程式、配置信息和数据很有用。COM 分区可拥有自定义 COM 组件的不同版本。例如,假如为两个竞争的公司宿主网站,他们都在其 Web 应用程式中使用了 COM ,则能够使用 COM 分区来确保一个公司的 Web 应用程式不能访问另一个公司的 Web 应用程式中的 COM 组件。假如其中某个公司需要您更改他们都使用的 COM 应用程式的某些功能,您能够在链接到他们的 Web 应用程式的分区中隔离该 COM 应用程式的新版本。
要在 IIS 端启用 COM 分区,请在应用程式级别配置 AspAppServiceFlags 配置数据库属性的 AspUsePartition 标志。分区由 GUID(使用组件服务管理器管理单元创建)标识,他可在 AspPartitionID 配置数据库属性上进行配置。假如未指定任何分区,则使用默认系统分区。周详信息,请参阅 COM SDK 中的“创建和配置 COM 分区”或联机查看 COM (Component Services)。
要点 即使该功能可在应用程式级别进行配置,在任何一个应用程式池中也只能使用一个版本的 COM 组件。例如,假如应用程式 App1 使用名为 Shop.dll 的 1.0 版的自定义 COM 应用程式,应用程式 App2 使用 2.0 版的 Shop.dll,则 App1 和 App2 不应位于同一个应用程式池中。假如他们位于同一个应用程式池中,则首先加载的应用程式加载和之对应的 Shop.dll 版本,在卸载这些应用程式之前,另一个应用程式只能被迫使用该版本。
