内容简介
IIS 7和ASP.NET的高度集成给IIS 7管理员和ASP.NET开发人员提供了IIS 7早期版本所不具备的激动人心的全新编程工具、技术和方案。本书以丰富的范例集中介绍了集成的关键功能。本书包含大量来自实际应用的详细代码,并对代码进行了深入浅出的分析。所有这些代码都是在Windows Vista、Windows Server 2008、ASP.NET 2.0和ASP.NET 3.5(Visual Studio 2008)上编写和测试的。通过这些代码,深入介绍了组成IIS 7和ASP.NET集成基础结构的主要系统,旨在帮助读者掌握高级编程技能、精通基础知识、丰富编程经验。在我们自己的应用程序中可以使用这些系统,并可对这些系统进行扩充以满足实际应用需求。
欢迎学习本书。IIS 7和ASP.NET的高度集成,给IIS 7管理员和ASP.NET开发人员提供了丰富的集成编程环境,以实现早期IIS版本所不能提供的特点和功能。 本书全面介绍了下列组成IIS 7和ASP.NET集成基础结构的主要系统: ● IIS 7和ASP.NET集成请求处理流水线。 ● IIS 7和ASP.NET集成配置系统及其相应的声明模式扩展标记语言。 ● IIS 7和ASP.NET集成命令管理系统。 ● IIS 7和ASP.NET集成图形管理系统。 ● IIS 7和ASP.NET集成提供程序模型。 ● IIS 7和ASP.NET集成跟踪与诊断系统。 ● ASP.NET和Windows Communication Foundation(WCF)在IIS 7中的集成。 本书不仅从内到外介绍了这些系统是如何工作的、如何在自己的应用程序中使用这些系统,还对这些系统所扩充的功能进行了综合介绍,以及如何利用它们实现新的特色和功能。 本书详细讨论了各种解决方案,并深入分析了使用这些方案的范例的详细代码,这有助于读者获得有关使用和扩充这些主要系统的技能、知识和经验。 本书读者对象 本书主要针对第一次学习IIS 7和ASP.NET集成编程的ASP.NET开发人员和IIS 7管理员。不需要IIS 7和ASP.NET集成编程的相关知识。 本书主要内容 本书分成如下12章。 第1章:“IIS 7和ASP.NET集成体系结构”,介绍IIS 7软件包和其中的主要功能模块。本章介绍了5种不同的方法从不同的软件包定制构建您自己的Web服务器。本章还介绍了组成IIS 7和ASP.NET集成体系结构的系统概貌。 第2章:“集成配置系统的使用”,介绍新的IIS 7和ASP.NET集成配置系统,包括配置文件的层次结构、配置文件之间的层次结构关系、声明与命令编程模式扩充的概念。本章还以大量范例对新的IIS 7机器级配置文件ApplicationHost.config的主要部分进行了说明。从这些范例中读者将学会在特定站点、应用程序或虚拟目录的配置文件中如何重写不同配置节的指定配置设置。 第3章:“利用IIS 7 Manager和命令行管理集成配置系统”,介绍如何使用IIS 7 Manager和appcmd.exe命令行工具来管理IIS 7和ASP.NET集成配置系统。本章还介绍了IIS 7 Manager是如何把集成配置系统的层次特点应用到账户的,以及如何用IIS7 Manager配置IIS 7 Web 服务器和ASP.NET Web应用程序。本章还对集成配置系统的委托功能进行了介绍。 第4章:“用托管代码管理集成配置系统”,深入介绍了IIS 7和ASP.NET集成命令管理系统的类型,在托管代码中可利用这些类型对IIS 7和ASP.NET集成配置系统进行管理。这些类型包括ConfigurationElement、ConfigurationElementCollectionBase、ApplicationPool、ApplicationPoolCollection、Site、Application、ApplicationCollection、VirtualDirectory、 VirtualDirectoryCollection、ConfigurationSection和ServerManager。本章还介绍了使用这些类型的具体步骤,以及相应的范例。 第5章:“集成配置系统和命令管理API的扩充”,用大量范例对组成IIS 7和ASP.NET集成声明模式扩展标记语言的XML构件进行了详细说明,这些构件包括、、和。本章还介绍了利用这些XML构件实现新的XML构件的具体步骤。新实现的XML构件可组成一个定制的配置节,从而实现对集成配置系统的扩充。一个定制的配置节包括基本XML元素和属性、非集合XML元素和属性、集合XML元素及其添加、删除、清除子元素和属性。本章按照这个步骤实现了组成一个定制配置节的XML构件,其中包括基本XML元素和属性、一个非集合XML元素、一个集合XML元素以及该集合元素的添加、删除和清除子元素。 本章还介绍了扩充集成命令管理API的具体步骤,在托管代码中可利用这个扩充API的新命令管理类以强类型方式管理组成一个配置节的XML构件。 第6章:“了解集成图形管理系统”,对集成图形管理系统进行了深入介绍。在本章首次涉及模态对话框页面、模态列表页面、模态属性页面、任务窗体和向导窗体。然后研究IIS 7 Manager的对象模型,介绍了IServiceProvider、IServiceContainer、ManagementConfigurationPath、Connection、NavigationItem和TaskListCollection等类型。最后给出一个综合范例,通过这个范例可了解这些类型是如何协同工作的。 第7章:“扩充集成图形管理系统”,要对IIS 7和ASP.NET集成图形管理系统进行扩充以支持对定制配置节的图形化管理,需要编写两套代码,即客户端和服务器端代码。本章介绍了实现这两套代码的具体步骤,并按照步骤实现了一些定制的图形化管理组件,使用户能直接通过IIS 7 Manager对配置节进行配置。 第8章:“扩充集成请求处理流水线”,介绍如何实现自己定制的HTTP模块、HTTP处理程序、HTTP处理程序工厂,以及如何把它们插入IIS 7和ASP.NET集成请求处理流水线以扩充该流水线。扩充后的流水线能定制请求处理能力提供支持。 本章介绍了把定制的HTTP模块、HTTP处理程序、HTTP处理程序工厂插入IIS 7和ASP.NET集成流水线的3种方法:在配置文件中以声明方式插入、从IIS 7 Manager图形界面中插入和用托管代码编程插入。 最后,本章介绍了如何实现一个完全可配置的HTTP 模块UrlRewriterModule,以及如何把该模块插入到IIS 7和ASP.NET集成请求处理流水线。 第9章:“了解集成提供程序模型”,首先演示了一个运行的集成提供程序模型。然后介绍下列类在集成提供程序模型中所起的重要作用,以及如何利用这些类实现定制的提供程序服务。 ● ProviderFeature抽象基类及其子类。介绍了如何实现一个定制的提供程序特征模块以描述定制的提供程序服务,以及如何利用集成提供程序模型注册定制的提供程序特征模块。 ● ProviderConfigurationSettings抽象基类及其子类。本章还介绍了如何实现一个定制的提供程序配置设置类,以及如何用集成提供程序模型注册这个类。定制的提供程序服务有几个提供程序,而这个类可对这些提供程序的配置设置进行描述。 ● PropertyGrid控件。本章通过几个范例帮助读者更好地了解该控件、了解它在集成提供程序模型中所起的作用以及如何为定制提供程序服务对该控件进行定制。 ● 任务窗体AddProviderForm。 ● 模态列表页面ProviderConfigrationConsolidatedPage。 ● IProviderConfigurationService接口以及实现该接口的一个标准类ProviderConfigura- tionModule。本章介绍如何在定制的提供程序服务中利用这个标准实现。 第10章:“扩充集成提供程序模型”,首先介绍了对集成提供程序模型进行扩充的详细步骤。这是通过实现一些完全可配置的定制提供程序服务并把它们插入到该模型中来扩充的。然后按照这个步骤实现一个完全可配置的RSS提供程序服务并把该服务插入到集成提供程序模型中。RSS提供程序服务能从任何类型的数据存储(如SQL Server数据库,XML文件等)生成RSS文档。 第11章:“集成跟踪与诊断”,介绍如何使用IIS 7和ASP.NET集成跟踪和诊断基础结构在托管代码中插装跟踪代码。本章演示了如何从托管代码引发跟踪事件、如何把这些跟踪事件发送给IIS 7跟踪基础结构,以及如何配置使用这些跟踪事件的模块(如Failed Request Tracing)。本章用一些范例对TraceSource数据源、SourceSwitch开关、IisTraceListener侦听器、EventTypeFilter过滤器和SourceFilter过滤器进行了深入介绍,以及如何在IIS 7 Manager中启动Failed Request Tracing和定义新规则。 然后用一个范例说明如何从配置文件、托管代码和IIS 7 Manager实现托管代码的完全可配置的跟踪功能。 本章接着介绍了Runtime Status and Control API(运行时状态和控制API,RSCA),这是一个非托管API。然后深入介绍了集成命令管理系统的各种类型,并用一个范例说明如何在用户托管代码中利用这些类型通过RSCA非托管API编程间接对IIS 7运行时对象的运行时状态进行访问和操纵。 本章最后介绍了HttpApplication对象的LogRequest事件,并实现了一个HTTP模块。该HTTP模块为这个事件注册一个事件处理程序,事件处理程序把请求数据存储在XML文档中。这些请求数据提供了一个强有力的诊断工具。 第12章:“ASP.NET和WCF在IIS 7中的集成”,用一个范例说明,如何用WCF服务模型为自己的组件建立通信模型,如何在自己的Web应用程序中利用ASP.NET和WCF服务在IIS 7环境中的高度集成特点。本章包含下列内容: ● WCF端点及其地址、绑定和契约。 ● WCF服务模型及其用于为自己组件建立通信模型的3种手段:面向属性编程、面向配置编程和命令编程。 ● 定义WCF服务契约。 ● 实现WCF服务契约。 ● 添加、更新、删除和配置WCF端点。 ● 添加行为。 ● 驻留WCF服务。本章演示了如何充分利用IIS 7的强大功能在IIS 7中驻留定制的WCF服务。 ● 开发WCF客户端软件。本章介绍了开发WCF客户端软件的3种方法:添加一个Web引用、使用Svcutil.exe工具、命令方法。本章用这3种方法分别开发了一个独立的WCF客户端软件。 本章用一个范例说明了在IIS 7中ASP.NET和WCF服务的高度集成特点,这个范例包含3种不同的应用程序。 使用本书的条件 读者需要下列配置来运行本书的范例: ● Windows Vista或Windows Server 2008 ● Visual Studio 2005、Visual Studio 2005 Express Edition、Visual Studio 2008或Visual Studio 2008 Express Edition ● SQL Server 2005或SQL Server 2005 Express Edition 读者可以从下载Visual Studio 2005 Express Edition或Visual Studio 2008 Express Edition的免费副本。 如何下载本书的示例代码 当读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点或www.tupwk.com.cn/downpage上下载。登录到站点/,使用Search工具或使用书名列表就可以找到本书。接着单击本书细目页面上的Download Code链接,就可以获得所有的源代码。 说明: 许多图书的书名都很相似,所以通过ISBN查找本书是最简单的,本书的ISBN是978-0-470-15253-9。 在下载了代码后,只需用自己喜好的解压缩软件对它进行解压缩即可。另外,也可以进入/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。 请给wkservice@vip.163.com发电子邮件,我们就会检查您的信息,如果是正确的,我们将在本书的后续版本中采用。 要在网站上找到本书的勘误表,可以登录,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是/misc-pages/booklist.shtml。 P2P邮件列表是为作者和读者之间的讨论而建立的。读者可以在上加入P2P论坛。该论坛是一个基于Web的系统,用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流。该论坛提供了订阅功能,当论坛上有新贴子时,会给您发送您选择的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论。 在上有许多不同的论坛,帮助读者阅读本书,在读者开发自己的应用程序时,也可以从这个论坛中获益。要加入这个论坛,需执行下面的步骤: (1) 进入,单击Register链接。 (2) 阅读其内容,单击Agree按钮。 (3) 提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮。 然后就可以收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 不加入P2P也可以阅读论坛上的信息,但只有加入论坛后,才能发送自己的信息。 加入论坛后,就可以发送新信息,回应其他用户的贴子。可以随时在Web上阅读信息。如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该论坛对应的Subscribe to this Forum图标。 对于如何使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答。要阅读FAQ,可以单击任意P2P页面上的FAQ链接。