当前位置:web 服务器 > IIS >>

IIS6.0下ASP的新增功能(二)

答案:

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 版本,在卸载这些应用程序之前,另一个应用程序只能易做图使用该版本。 

下列示例在默认网站应用程序 (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: AspUsePartition = " & IIsWebVirtualDirSettingObj.AspUsePartition

  WScript.Echo " AspPartitionID = " & IIsWebVirtualDirSettingObj.AspPartitionID

  WScript.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 = Nothing

  set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")

  WScript.Echo "After: AspUsePartition = " & IIsWebVirtualDirSettingObj.AspUsePartition

  WScript.Echo " AspPartitionID = " & IIsWebVirtualDirSettingObj.AspPartitionID

  WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags

  跟踪程序:

  COM+ 跟踪程序允许管理员或开发人员调试 ASP 应用程序。例如,如果 Web 应用程序在服务器上产生问题,则可以启用 COM+ 跟踪程序,以便确定 ASP 页在何时加载、COM 组件在何时加载以及线程何时离开网页。在调试应用程序之后,可禁用 COM+ 跟踪程序,使应用程序返回到正常的执行速度。

  要在 IIS 端上启用 COM+ 跟踪程序,请在应用程序级别中设置 AspAppServiceFlags 配置数据库属性的 AspEnableTracker 标志。  

下列示例在默认网站应用程序 (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: AspEnableTracker = " & IIsWebVirtualDirSettingObj.AspEnableTracker

  WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags

  ' 设置 ASP 应用程序以启用 COM+ 跟踪

  IIsWebVirtualDirSettingObj.AspEnableTracker = 1

  IIsWebVirtualDirSettingObj.Put_()

  ' 再次获得引用以刷新 AspAppServiceFlags 属性。

  set IIsWebVirtualDirSettingObj = Nothing

  set IIsWebVirtualDirSettingObj = providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")

  WScript.Echo "After: AspEnableTracker = " & IIsWebVirtualDirSettingObj.AspEnableTracker

  WScript.Echo " AspAppServiceFlags = " & IIsWebVirtualDirSettingObj.AspAppServiceFlags

  事务:从 IIS 4.0 版起,ASP 页面中已经支持事务的使用。但是,IIS 更改了事务的内部实现以便利用 COM+ 服务。IIS 不再通过创建 COM 组件来容纳事务,而是直接访问 COM+ 事务服务,因而大大地提高了事务处理的速度。与以前一样,事务只能在页面级别进行配置,配置时使用 @TRANSACTION 指令和 ASP 内置对象的事件,该对象名为 ObjectContext。

  ASP 的新配置数据库属性

  下面的配置数据库设置已被添加到此版本的 ASP 中。 

  配置数据库属性名用途AspAppServiceFlags

  启用诸如 COM+ 并排集合(以前被称为 Fusion)、分区等功能。AspDiskTemplateCacheDirectory指定 ASP 磁盘缓存的位置。AspExecuteInMTA使 ASP 线程能够在多线程单元中执行。AspKeepSessionIDSecure将 ASP 会话 Cookie 安全地发送到浏览器。

  AspMaxDiskTemplateCacheFiles指定 ASP 的最大硬盘缓存。AspPartitionID为应用程序指定所使用的 COM+ 分区。AspRunOnEndAnonymously使 ASP 能够以匿名方式运行 global.asa Application_OnEnd 和 Session_OnEnd 事件。AspBufferingLimit指定缓冲区大小的限制。AspMaxRequestEntityAllowed指定 ASP 请求的实体中允许的最大字节数。

  AspSxsName允许 ASP 应用程序指定要使用的系统 DLL 或 传统 COM 组件的版本。

上一个:用ASP制作强大的搜索引擎
下一个:IIS6.0下ASP的新增功能(一)

Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,