通过内置的诊断和跟踪支持,IIS7 在对 Web 服务器进行故障排除时比以前更轻松,管理员可以监视 Web 服务器并查看详细的实时诊断信息。
诊断和故障排除
通过内置的诊断和跟踪支持,IIS7 在对 Web 服务器进行故障排除时比以前更轻松,管理员可以监视 Web 服务器并查看详细的实时诊断信息。在进行诊断和故障排除时,开发人员或管理员可查看在服务器上运行的请求。IIS7 还包含新增的 Runtime Status(运行时状态)和 Control(控件)对象,它们提供有关应用程序池、工作进程、站点、应用程序域甚至运行的请求的实时状态信息。例如,可以使用此信息确定工作进程中哪个请求占用了 CPU 资源的 100%。
IIS7 还包含整个请求和响应路径中的详细跟踪事件,开发人员和管理员可以跟踪某个请求进入 IIS 请求处理管道、进入任何现有的页面级代码,然后返回响应的整个过程。通过这些详细的跟踪事件,开发人员不仅可以了解请求路径和伴随请求产生的错误信息,还可以了解已用时间和其他调试信息,以便对所有类型的错误进行故障排除。
IIS7 还通过提供更详细和更具操作性的错误消息简化了故障排除。IIS7 中的新自定义错误模块允许将详细错误信息发送回浏览器(默认情况下发送到本地主机),还可以配置为发送到其他远程客户端。现在,管理员可以查看关于请求的详细信息、哪些潜在的问题可能导致此错误以及如何解决此错误的建议,而不只是查看简单的错误代码。
帮助提高 IIS7 故障排除支持的最重要功能之一是运行时状态和控件 API (RSCA),此功能提供来自 IIS7 内部的有关服务器的详细运行时信息。使用 RSCA,可以检查和管理各种实体,包括站点、应用程序池甚至 .NET 应用程序域。RSCA 还实时显示当前正在服务器上执行的请求。RSCA 数据可从 WMI 提供程序和托管 API (Microsoft.Web.Administration) 处获取。IIS 7 管理 GUI 和命令行工具也可为管理员提供此数据。
可扩展的模块化体系结构
在早期版本的 IIS 中,所有功能默认情况下都是内置的,因此难以对任何此类功能进行扩展或替换。如前所述,在 IIS7 中,核心分为 40 多个单独的功能模块。核心还包括一个新的 Win32 API,用于构建核心服务器模块。核心服务器模块是 Internet 服务器应用程序编程接口 (ISAPI) 过滤器和扩展的新的、功能更强大的替代品。ISAPI 过滤器和扩展在 IIS7 中仍受支持。由于所有 IIS 核心服务器功能都是使用新的 IIS7 Win32 模块 API 作为独立的功能模块开发的,因此用户可以添加、删除甚至替换 IIS 功能模块。
用于自定义的灵活的可扩展模型
IIS7 使开发人员能够扩展 IIS 以通过新的、更有力的方式提供自定义功能。这在一定程度上归功于全新的核心服务器应用程序编程接口 (API) 集,它允许功能模块既可以使用本机代码 (C/C++) 开发,也可以使用托管代码(如使用 .NET Framework 的 C# 和 Visual Basic 2005 等语言)开发。事实上,用于请求和应用程序处理的 IIS7 功能集中的大部分功能就是使用这些相同的 API 实现的。IIS7 还实现了配置、脚本、事件日志记录和管理工具功能集的可扩展性,为软件开发人员提供可在其上构建 Web 服务器扩展的完善的服务器平台。
真正的应用程序 xcopy 部署
IIS7 允许将 IIS 配置设置存储在 web.config 文件中,这样更易于使用 xcopy 在多个 Web 服务器间复制应用程序,并可避免执行成本高且易于出错的复制、手动同步和其他配置任务。
摘要
IIS7 中的所有结构更改一起创建了一个极其灵活的 Web 应用程序系统。对于只具备基本技能的 Web 服务器管理员新手和使用脚本工具管理多个服务器的高级管理员,通过 GUI 界面和 appcmd.exe 命令行工具访问 IIS 配置的功能提供了有效的工具。IIS 的跟踪和故障排除组件提供详细的可用信息,帮助管理员和应用程序开发人员隔离行为错误的页和代码。IIS7 的模块化功能和详细的管理模型便于服务器管理员创建满足自己需要的服务器,并只允许对站点和内容管理器进行所需级别的访问。