# ASP 的重要变化

ASP 在很多方面进行了重要改进和增强。如果升级了前一版本的 ASP 应用程序，您将会注意到这些变化。

注意 要了解 ASP 的新增功能，请参阅 ASP 新增功能。

- 缓冲功能默认为打开 在 IIS 4.0 中，答复缓冲默认为关闭。而在 IIS 5.1 中，除非脚本明确将缓冲关闭，否则始终对输出进行缓冲。这意味着最终输出将在处理完成或脚本调用 Response.Flush 方法时发送到客户端。在从 IIS 4.0 升级到 IIS 5.1 时，将保留 IIS 4.0 设置。因此，除非将其打开，否则答复缓冲将保持关闭状态。详细信息，请参阅“将内容发送到浏览器”主题中的缓冲内容一节。
- Response.IsClientConnected 在 IIS 4.0 中，仅当 ASP 文件将内容发送到浏览器时 Response.IsClientConnected 才返回正确信息。在 IIS 5.1 中，ASP 文件可以在将内容发送到浏览器之前使用 IsClientConnected 属性。详细信息，请参阅 IsClientConnected。
- 改进了包含文件的安全性 在 IIS 4.0 中，当包含文件驻留在映射到物理路径的虚拟根目录下时，ASP 不使用物理路径的安全性凭据对文件进行处理。在 IIS 5.1 中处理包含文件时，ASP 使用物理路径的凭据。详细信息，请参阅包含文件。
- 默认文档查询字符串行为 在 IIS 5.1 中，如果 .asp（或 .cdx）文件配置为默认文档，则可以从未指定默认文档的 URL 中接收查询字符串。例如，URL `http://www.microsoft.com/default.asp?newuser=true` 和 `http://www.microsoft.com/?newuser=true` 都将向默认 .asp 文件发送查询字符串值。
- 事务标志 IIS 4.0 使用 required、requires new 和 not supported 事务标志表示 ASP 开始了新的事务。在 IIS 5.1 中，这种行为没有改变。然而，如果 .asp 文件使用新的 Server.Execute 或 Server.Transfer 方法执行 .ASP 文件，则事务标志状态将保持到第二个 .asp 文件。如果第二个 .asp 文件的事务标志表示事务是被支持或必需的，则将使用现有事务，新事务无法启动。
- 双模型对象行为 如果以应用程序状态存储不支持自由线程 Marshaller 的双模型 COM 对象，那么它将失败。双模型组件必须将自由线程 Marshaller 聚合以应用程序状态存储。
- 将一些可配置项目移动到配置数据库 下列 IIS 4.0 注册表项现在位于配置数据库中：

- ProcessorThreadMax
- ErrorsToNTLog

对于 IIS 5.1，所有 ASP 的可配置参数都可通过配置数据库进行修改。详细信息，请参阅关于配置数据库。

- 本地服务器 COM 对象的安全性 IIS 使用称为“伪装”的 Windows COM 的新功能，使由 .asp 文件实例化的本地服务器应用程序具有初始客户端的安全性上下文。在上一版本中，分配到本地服务器 COM 对象的标识由创建对象实例用户标识所决定。
- 提前释放对象 在 IIS 4.0 中，COM 对象到 ASP 结束网页处理之后才会被释放。在 IIS 5.1 中，如果 COM 对象不使用 OnEndPage 方法，并且对象的引用计数为零，那么对象将在处理完成之前被释放。

© 1997-2001 Microsoft Corporation. 保留所有权利。