IIS6.0下ASP的新增功能(三)_Web服务器教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
下列示例在默认网站应用程序 (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 版本,在卸载这些应用程序之前,另一个应用程序只能被迫使用该版本。
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 版本,在卸载这些应用程序之前,另一个应用程序只能被迫使用该版本。
相关Web服务器教程:
- 相关链接:
- 教程说明:
Web服务器教程-IIS6.0下ASP的新增功能(三)。