Professional IIS 7 and ASP NET Integrated Programming Dr. Shahram Khosravi All Chapters Instant Download
Professional IIS 7 and ASP NET Integrated Programming Dr. Shahram Khosravi All Chapters Instant Download
https://ebookultra.com
https://ebookultra.com/download/professional-
iis-7-and-asp-net-integrated-programming-dr-
shahram-khosravi/
https://ebookultra.com/download/asp-net-ajax-programmer-s-reference-
with-asp-net-2-0-or-asp-net-3-5-dr-shahram-khosravi/
ebookultra.com
https://ebookultra.com/download/professional-asp-net-design-patterns-
scott-millett/
ebookultra.com
https://ebookultra.com/download/professional-asp-net-2-0-xml-thiru-
thangarathinam/
ebookultra.com
https://ebookultra.com/download/asp-net-professional-projects-1st-
edition-hersh-bhasin/
ebookultra.com
Programming ASP NET AJAX 1st Edition Christian Wenz
https://ebookultra.com/download/programming-asp-net-ajax-1st-edition-
christian-wenz/
ebookultra.com
https://ebookultra.com/download/professional-asp-net-mvc-4-1st-
edition-jon-galloway/
ebookultra.com
https://ebookultra.com/download/professional-asp-net-mvc-3-1st-
edition-jon-galloway/
ebookultra.com
https://ebookultra.com/download/professional-asp-net-3-5-in-c-sharp-
and-visual-basic-bill-evjen/
ebookultra.com
https://ebookultra.com/download/beginning-asp-net-3-5-in-c-2008-from-
novice-to-professional-2nd-edition-matthew-macdonald/
ebookultra.com
Professional IIS 7 and ASP NET Integrated
Programming Dr. Shahram Khosravi Digital Instant
Download
Author(s): Dr. Shahram Khosravi
ISBN(s): 9780470152539, 0470152532
Edition: Pap/Dig
File Details: PDF, 6.81 MB
Year: 2008
Language: english
52539ffirs.qxd:WroxPro 9/17/07 6:50 PM Page iii
Professional
IIS 7 and ASP.NET Integrated Programming
Professional
IIS 7 and ASP.NET Integrated Programming
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Chapter 1: IIS 7 and ASP.NET Integrated Architecture. . . . . . . . . . . . . . . . . . . 1
Chapter 2: Using the Integrated Configuration System . . . . . . . . . . . . . . . . . 23
Chapter 3: Managing the Integrated Configuration System from
IIS Manager and the Command Line . . . . . . . . . . . . . . . . . . . . . . 61
Chapter 4: Managing the Integrated Configuration System with
Managed Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Chapter 5: Extending the Integrated Configuration System and
Imperative Management API . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Chapter 6: Understanding the Integrated Graphical Management
System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Chapter 7: Extending the Integrated Graphical Management System. . . . . . 175
Chapter 8: Extending the Integrated Request Processing Pipeline. . . . . . . . 289
Chapter 9: Understanding the Integrated Providers Model. . . . . . . . . . . . . . 397
Chapter 10: Extending the Integrated Providers Model . . . . . . . . . . . . . . . . 445
Chapter 11: Integrated Tracing and Diagnostics . . . . . . . . . . . . . . . . . . . . . 537
Chapter 12: ASP.NET and Windows Communication Foundation
Integration in IIS 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
52539ffirs.qxd:WroxPro 9/17/07 6:50 PM Page ii
52539ffirs.qxd:WroxPro 9/17/07 6:50 PM Page iii
Professional
IIS 7 and ASP.NET Integrated Programming
Shahram is the author of the following four books: Professional ASP.NET 3.5 and .NET 3.5 Programming
(ASP.NET Internals plus ASP.NET AJAX, IIS 7.0, Windows Workflow Foundation, and Windows Communication
Foundation), ASP.NET AJAX Programmer’s Reference with ASP.NET 2.0 or ASP.NET 3.5, Professional IIS 7 and
ASP.NET Integrated Programming, and Professional ASP.NET Server Control and Component Development. He
has written articles on the ASP.NET, ADO.NET, .NET, and XML technologies for the industry’s leading
magazines such as Dr. Dobb’s Journal, asp.netPRO magazine, and Microsoft MSDN Online.
52539ffirs.qxd:WroxPro 9/17/07 6:50 PM Page vi
Credits
Senior Acquisitions Editor Vice President and Executive Group Publisher
Jim Minatel Richard Swadley
Acknowledgments
First and foremost, I would like to thank Jim Minatel, the senior acquisitions editor on the book, for giv-
ing me the opportunity to work on this exciting project. Huge thanks go to Brian MacDonald, the book’s
development editor. I greatly appreciate your input, comments, and advice throughout the process.
Thanks Brian, for everything! Special thanks go to Dan Kahler, the book’s technical editor. Thanks Dan
for all your input and comments. Additional thanks also go to Daniel Scribner, the book’s production
editor. Thanks also go to Kim Cofer, the copy editor, and Nancy Riddiough, the proofreader.
52539ffirs.qxd:WroxPro 9/17/07 6:50 PM Page viii
52539ftoc.qxd:WroxPro 9/17/07 6:50 PM Page ix
Contents
Acknowledgments vii
Introduction xvii
Contents
Chapter 3: Managing the Integrated Configuration System from
IIS Manager and the Command Line 61
Server Management 61
Internet Information Services (IIS) Manager 62
Application Pools 63
Web Sites 66
Hierarchical Configuration 68
Delegation 73
Command-Line Tool 76
LIST 80
ADD 81
DELETE 81
SET 81
Summary 81
x
52539ftoc.qxd:WroxPro 9/17/07 6:50 PM Page xi
Contents
xi
52539ftoc.qxd:WroxPro 9/17/07 6:50 PM Page xii
Contents
Proxies 184
ModuleServiceProxy 186
What’s PropertyBag Anyway? 189
MyConfigSectionPage 193
Constructor 196
Event Handlers 200
HasChanges Property 201
CanApplyChanges Property 202
OnActivated 202
GetSettings 203
OnWorkerGetSettings 205
OnWorkerGetSettingsCompleted 205
MyConfigSectionInfo 207
InitializeUI 210
ApplyChanges 213
GetValues 214
CancelChanges 215
Adding Support for New Task Items 216
Refreshing 221
MyCollectionPage 229
InitializeListPage 234
OnActivated 235
GetCollectionItems 235
OnWorkerGetCollectionItems 235
OnWorkerGetCollectionItemsCompleted 236
MyCollectionItemInfo 238
MyCollectionItemListViewItem 239
AddItem 239
Adding Support for New Task Items 240
OnListViewBeforeLabelEdit 247
OnListViewAfterLabelEdit 248
OnListViewDoubleClick 251
OnListViewKeyUp 252
OnListViewSelectedIndexChanged 252
Grouping 252
Refreshing 257
MyCollectionItemTaskForm 258
Constructors 262
InitializeComponent 262
OnAccept 265
OnWorkerDoWork 265
OnWorkerCompleted 266
xii
52539ftoc.qxd:WroxPro 9/17/07 6:50 PM Page xiii
Contents
Module 267
Module 267
MyConfigSectionModule 268
Server-Side Managed Code 269
Module Service 270
Module Provider 281
Deployment 283
Summary 287
xiii
52539ftoc.qxd:WroxPro 9/17/07 6:50 PM Page xiv
Contents
Rewriting Non-ASP.NET URLs 393
Postback Problem with URL Rewriting 393
Summary 396
xiv
52539ftoc.qxd:WroxPro 9/17/07 6:50 PM Page xv
Contents
Tasks Performed from the Configuration File 550
Instantiating and Attaching a Switch 550
Instantiating and Attaching an IisTraceListener 557
Instantiating and Attaching a Trace Filter 562
Putting It All Together 570
Configurable Tracing 578
Runtime Status and Control API 587
ServerManager 589
WorkerProcessCollection 590
WorkerProcess 590
RequestCollection 591
Request 592
ApplicationDomain 593
ApplicationDomainCollection 594
ApplicationPool 595
Site 596
Putting It All Together 596
LogRequest 600
Summary 604
Index 651
xv
52539ftoc.qxd:WroxPro 9/17/07 6:50 PM Page xvi
52539flast.qxd:WroxPro 9/17/07 6:50 PM Page xvii
Introduction
Welcome to Professional IIS 7 and ASP.NET Integrated Programming. The deep integration of IIS 7 and
ASP.NET provides both IIS 7 administrators and ASP.NET developers with a rich integrated program-
ming environment to implement features and functionalities that were not possible in earlier versions
of IIS.
This book provides in-depth coverage of all the major systems that make up the IIS 7 and ASP.NET inte-
grated infrastructure, as follows:
This book not only shows how these major systems work from the inside out and how to use them in
your own applications, but also provides comprehensive coverage of the extensibility points of these sys-
tems and shows you how to take advantage of them to add support for new features and functionalities.
The discussions of this book are presented in the context of numerous step-by-step recipes and detailed
code walkthroughs and in-depth analyses of real-world examples that use these recipes to help you gain
the skills, knowledge, and experience you need to use and extend these major systems.
❑ Chapter 1, “IIS 7 and ASP.NET Integrated Architecture,” covers the IIS 7 package updates and
their constituent feature modules. It shows you five different ways to custom build your own
52539flast.qxd:WroxPro 9/17/07 6:50 PM Page xviii
Introduction
Web server from the various package updates to decrease the footprint of your Web server. The
chapter also provides an overview of the systems that make up the IIS 7 and ASP.NET inte-
grated architecture.
❑ Chapter 2, “Using the Integrated Configuration System,” discusses the new IIS 7 and
ASP.NET integrated configuration system, including the hierarchical structure of its configura-
tion files, the hierarchical relationships among these configuration files, and the notion of the
declarative versus imperative schema extension. The chapter also uses numerous examples to
walk you through important sections of the new IIS 7 machine-level configuration file named
applicationHost.config, where you’ll also learn how to override the configuration settings
specified in different sections of this file in a particular site, application, or virtual directory.
❑ Chapter 3, “Managing the Integrated Configuration System from IIS 7 Manager and the
Command Line,” shows how to use the IIS 7 Manager and appcmd.exe command-line tools to
manage the IIS 7 and ASP.NET integrated configuration system. You’ll also learn how the IIS
Manager takes the hierarchical nature of the integrated configuration system into account and
how you can configure both the IIS 7 Web server and ASP.NET Web applications from the IIS 7
Manager. This chapter also covers the delegation feature of this integrated configuration system.
❑ Chapter 4, “Managing the Integrated Configuration System with Managed Code,”
provides in-depth coverage of those types of the IIS 7 and ASP.NET integrated imperative
management system that allow you to manage the IIS 7 and ASP.NET integrated
configuration system from managed code. Those types include the ConfigurationElement,
ConfigurationElementCollectionBase<T>, ApplicationPool,
ApplicationPoolCollection, Site, Application, ApplicationCollection,
VirtualDirectory, VirtualDirectoryCollection, ConfigurationSection, and
ServerManager. This chapter also provides step-by-step recipes for using these types and
examples where these recipes are used.
❑ Chapter 5, “Extending the Integrated Configuration System and Imperative
Management API,” uses examples to walk you through the XML constructs that make up
the IIS 7 and ASP.NET integrated declarative schema extension markup language including
<sectionSchema>, <attribute>, <element>, and <collection>. It provides a step-by-step
recipe for using these XML constructs to extend the integrated configuration system to imple-
ment the XML constructs that make up a custom configuration section, including its containing
XML element and attributes, Non-collection XML elements and attributes, Collection XML ele-
ments and their child add, remove, and clear XML elements and their attributes. The chapter
uses this recipe to implement the XML constructs that make up a custom configuration section,
including its containing XML element and the associated attributes, a Non-collection XML ele-
ment, a Collection XML element, and the add, remove, and clear child XML elements.
The chapter also gives you recipes for extending the integrated imperative management API to
add support for new imperative management classes that allow managed code to manage the
XML constructs making up a configuration section in strongly-typed fashion.
❑ Chapter 6, “Understanding the Integrated Graphical Management System,” provides in-
depth coverage of the integrated graphical management system. This chapter first covers mod-
ule dialog pages, module list pages, module properties pages, task forms, and wizard forms. It
then dives into the IIS 7 Manager’s object model where types such as IServiceProvider,
IServiceContainer, ManagementConfigurationPath, Connection, NavigationItem, and
TaskListCollection are discussed. The chapter then takes you under the hood where you’ll
see for yourself how these types work together.
xviii
52539flast.qxd:WroxPro 9/17/07 6:50 PM Page xix
Introduction
❑ Chapter 7, “Extending the Integrated Graphical Management System,” gives you step-by-step
recipes for implementing the client-side and server-side code that extend the IIS 7 and ASP.NET
integrated graphical management system to add graphical management support for a custom
configuration section. The chapter uses these recipes to add support for custom graphical man-
agement components that allow users to configure the <myConfigSection> configuration sec-
tion right from the IIS 7 Manager.
❑ Chapter 8, “Extending the Integrated Request Processing Pipeline,” shows you how to imple-
ment your own custom HTTP modules, HTTP handlers, and HTTP handler factories, and plug
them into the IIS 7 and ASP.NET integrated request processing pipeline to extend this pipeline
to add support for custom request processing capabilities.
The chapter shows you three different ways to plug your custom HTTP modules, HTTP han-
dlers, and HTTP handler factories into the IIS 7 and ASP.NET integrated pipeline: declaratively
through a configuration file, graphically through the IIS 7 Manager, and imperatively through
managed code.
Finally the chapter shows you how to implement a fully configurable UrlRewriterModule
HTTP module and plugs the module into the IIS 7 and ASP.NET integrated request processing
pipeline.
❑ Chapter 9, “Understanding the Integrated Providers Model,” begins by showing you the inte-
grated providers model in action. Next, it takes you under the hood where you see for yourself
the important roles that the following classes play in the integrated providers model and how
you can take advantage of them when you’re implementing your own custom provider-based
services:
❑ The ProviderFeature abstract base class and its sub. You also learn how to implement
a custom provider feature to describe your own custom provider-based service and
how to register your custom provider feature with the integrated providers model.
❑ The ProviderConfigurationSettings abstract base class and its sub. This chapter
also teaches you how to implement a custom provider configuration settings class to
describe the configuration settings of the providers of your own custom provider-based
service and how to register your custom provider configuration settings class with the
integrated providers model.
❑ The PropertyGrid control. This chapter walks you through several exercises to help
you gain a better understanding of this control, the role it plays in the integrated
providers model, and how to customize this control for your own custom provider-
based services.
❑ The AddProviderForm task form.
❑ The ProviderConfigurationConsolidatedPage module list page.
❑ The IProviderConfigurationService interface and its standard implementation
named ProviderConfigurationModule. This chapter shows you how to take advan-
tage of this standard implementation in your own provider-based services.
❑ Chapter 10, “Extending the Integrated Providers Model,” begins by providing a detailed step-
by-step recipe for extending the integrated providers model to implement and to plug your own
fully configurable custom provider-based services into this model. It uses this recipe to imple-
ment a fully configurable RSS provider-based service and plug it into the integrated providers
xix
52539flast.qxd:WroxPro 9/17/07 6:50 PM Page xx
Introduction
model. The RSS provider-based service enables you to generate RSS documents from any type
of data store such as SQL Server databases, XML documents, and so on.
❑ Chapter 11, “Integrated Tracing and Diagnostics,” shows you how to use the IIS 7 and
ASP.NET integrated tracing and diagnostics infrastructure to instrument your managed
code with tracing. This chapter demonstrates how to emit trace events from within your
managed code, how to route these trace events to the IIS 7 tracing infrastructure, and how
to configure modules such as Failed Request Tracing to consume these trace events. This chap-
ter uses practical examples to provides in-depth coverage of the TraceSource data source,
the SourceSwitch switch, the IisTraceListener listener, the EventTypeFilter and
SourceFilter filers, and how to enable Failed Request Tracing and define new rules in the
IIS 7 Manager.
The chapter then uses a real-world example to show you how to make the tracing feature of
your managed code fully configurable from configuration files, from managed code, and from
the IIS 7 Manager.
The chapter then discusses the Runtime Status and Control API (RSCA), which is an unman-
aged API. Next, this chapter provides in-depth coverage of the various types of the integrated
imperative management system and uses an example to show you how to use these types to
indirectly program against the RSCA unmanaged API from your managed code to access and to
manipulate the runtime state of the IIS 7 runtime objects.
The chapter finally discusses the LogRequest event of the HttpApplication object and imple-
ments an HTTP module that registers an event handler for this event where it stores request
data in an XML document. This request data provides a powerful diagnostic tool.
❑ Chapter 12, “ASP.NET and Windows Communication Foundation Integration in IIS 7,” uses a
practical example to show you how to use the Windows Communication Foundation Service
Model to model the communications of your own components with the outside world and how
to take advantage of the deep integration of ASP.NET and WCF services in the IIS 7 environ-
ment in your own Web applications. This chapter covers the following topics:
❑ A WCF endpoint and its address, binding, and contract.
❑ WCF service model and its attribute-based, configuration-based, and imperative pro-
gramming facilities for modeling the communications of your own components with
the outside world.
❑ Defining WCF service contracts.
❑ Implementing WCF service contracts.
❑ Adding, updating, removing, and configuring WCF endpoints.
❑ Adding behaviors.
❑ Hosting a WCF service. This chapter shows you how to host your WCF service in IIS 7
to take full advantage of the great features of IIS 7 discussed throughout this book.
❑ Developing WCF clients. This chapter discusses three different ways to develop a WCF
client: adding a Web reference, using the Svcutil.exe tool, and the imperative
approach. This chapter uses each approach to develop a separate WCF client.
This chapter uses a practical example that consists of the following three different applications
to demonstrate the deep integration of ASP.NET and WCF services in IIS 7.
xx
52539flast.qxd:WroxPro 9/17/07 6:50 PM Page xxi
Introduction
You can download free copies of Visual Studio 2005 Express Edition or Visual Studio 2008 Express Edition
and SQL Server 2005 Express Edition from http://msdn.microsoft.com/vstudio/express/.
Conventions
To help you get the most from the text and keep track of what’s happening, we’ve used a number of con-
ventions throughout the book.
Boxes like this one hold important, not-to-be forgotten information that is directly
relevant to the surrounding text.
Tips, hints, tricks, and asides to the current discussion are offset and italicized, like this.
In code examples we highlight new and important code with a gray background.
The gray highlighting is not used for code that’s less important in the present
context, or has been shown before.
Source Code
As you work through the examples in this book, you may choose either to type in all the code manually
or to use the source code files that accompany the book. All of the source code used in this book is avail-
able for download at http://www.wrox.com. Once at the site, simply locate the book’s title (either by
using the Search box or by using one of the title lists) and click the Download Code link on the book’s
detail page to obtain all the source code for the book.
xxi
52539flast.qxd:WroxPro 9/17/07 6:50 PM Page xxii
Introduction
Because many books have similar titles, you may find it easiest to search by ISBN; this book’s ISBN is
978-0-470-15253-9.
Once you download the code, just decompress it with your favorite compression tool. Alternatively,
you can go to the main Wrox code download page at http://www.wrox.com/dynamic/books/
download.aspx to see the code available for this book and all other Wrox books.
Errata
We make every effort to ensure that there are no errors in the text or in the code. However, no one is per-
fect, and mistakes do occur. If you find an error in one of our books, like a spelling mistake or faulty
piece of code, we would be very grateful for your feedback. By sending in errata you may save another
reader hours of frustration and at the same time you will be helping us provide even higher quality
information.
To find the errata page for this book, go to http://www.wrox.com and locate the title using the Search box
or one of the title lists. Then, on the book details page, click the Book Errata link. On this page you can view
all errata that has been submitted for this book and posted by Wrox editors. A complete book list including
links to each book’s errata is also available at www.wrox.com/misc-pages/booklist.shtml.
If you don’t spot “your” error on the Book Errata page, go to www.wrox.com/contact/
techsupport.shtml and complete the form there to send us the error you have found. We’ll check the
information and, if appropriate, post a message to the book’s errata page and fix the problem in subse-
quent editions of the book.
p2p.wrox.com
For author and peer discussion, join the P2P forums at p2p.wrox.com. The forums are a Web-based sys-
tem for you to post messages relating to Wrox books and related technologies and interact with other
readers and technology users. The forums offer a subscription feature to e-mail you topics of interest of
your choosing when new posts are made to the forums. Wrox authors, editors, other industry experts,
and your fellow readers are present on these forums.
At http://p2p.wrox.com you will find a number of different forums that will help you not only as
you read this book, but also as you develop your own applications. To join the forums, just follow these
steps:
You can read messages in the forums without joining P2P but in order to post your own messages, you
must join.
xxii
52539flast.qxd:WroxPro 9/17/07 6:50 PM Page xxiii
Introduction
Once you join, you can post new messages and respond to messages other users post. You can read mes-
sages at any time on the Web. If you would like to have new messages from a particular forum e-mailed
to you, click the Subscribe to this Forum icon by the forum name in the forum listing.
For more information about how to use the Wrox P2P, be sure to read the P2P FAQs for answers to ques-
tions about how the forum software works as well as many common questions specific to P2P and Wrox
books. To read the FAQs, click the FAQ link on any P2P page.
xxiii
52539flast.qxd:WroxPro 9/17/07 6:50 PM Page xxiv
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 1
Internet Information Services 7.0 (IIS 7) is the latest version of Microsoft Web server. IIS 7 has gone
through significant architectural changes since the last version. The most notable change for
ASP.NET developers is the deep integration of the IIS 7 and ASP.NET framework. This provides
both ASP.NET developers and IIS 7 administrators with an integrated programming environment
that allows them to implement features and functionalities that were not possible before. The main
goal of this chapter is twofold. First, it covers the IIS 7 package updates and their constituent fea-
ture modules, discusses five different IIS 7 setup options, and shows you how to use each option
to custom-build your own Web server from these package updates. Second, it provides you with
an overview of the IIS 7 and ASP.NET integrated architecture and its constituent systems, setting
the stage for the next chapters where you’ll dive into the details of this integrated architecture and
programming framework.
IIS 6.0 enables only static file serving by default on a clean install of the Web server. In other
words, dynamic features such as ISAPI extensions and CGI components are disabled by default
unless the administrator explicitly enables them. Such customization of the Web server allows
you to decrease the attack surface of your Web server by giving attackers fewer opportunities for
attacks.
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 2
❑ Disabled features consume server resources such as memory, and therefore increase the Web
server footprint.
❑ Administrators still need to install service packs that address bugs in the disabled features, even
though they’re never used.
❑ Administrators still need to install software updates for the disabled features.
In other words, administrators have to maintain the service features that are never used. All these prob-
lems stem from the fact that the architecture of IIS 6.0 is relatively monolithic. The main installation
problem with a monolithic architecture is that it’s based on an all-or-nothing paradigm where you have
no choice but to install the whole system.
IIS 7.0 is modular to the bone! Its architecture consists of more than 40 feature modules from which you
can choose. This allows you to install only the needed feature modules to build a highly customized,
thin Web server. This provides the following important benefits:
So, administrators have to maintain and service only installed feature modules.
Next, I provide an overview of the IIS 7 feature modules or components. These feature components are
grouped into what are known as functional areas, where each functional area maps to a specific IIS pack-
age update. That is, each package update contains one or more feature modules or components. As
you’ll see later, you’ll use these package updates to custom-build your Web server.
The top-level IIS update is known as IIS-WebServerRole, and contains the updates shown in Figure 1-1.
As the name suggests, the IIS-WebServerRole update enables Windows Server 2008 and Windows Vista
to adopt a Web server role, which enables them to exchange information over the Internet, an intranet, or
an extranet.
IIS-WebServerRole
IIS-WebServer
IIS-WebServerManagementTools
IIS-FTPPublishingService
Figure 1-1
2
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 3
IIS-WebServer
The IIS-WebServer update contains five updates as shown in Figure 1-2. As you can see, this update con-
tains the feature modules that make up the core functionality of a Web server.
IIS-WebServer
IIS-CommonHTTPFeatures
IIS-ApplicationDevelopment
IIS-HealthAndDiagnostics
IIS-Security
IIS-Performance
Figure 1-2
IIS-CommonHttpFeatures
The IIS-CommonHttpFeatures update contains the feature modules or components described in the fol-
lowing table:
IIS-StaticContent Use this module to enable your Web server to service requests for static
content. Web site resources with file extensions such as .html, .htm,
.jpg, and the like that can be serviced without server-side processing
are known as static content.
IIS-DefaultDocument This module allows you to specify a Web resource that will be used as
the default resource when the request URL does not contain the name
of the requested resource.
IIS-DirectoryBrowsing Use this module to enable your Web server to display the contents of a
specified directory to end users when they directly access the directory
and no default document exists in the directory.
IIS-HttpErrors Use this module to enable your Web server to support sending custom
error messages to end users.
IIS-HttpRedirect Use this module to enable your Web server to support request redirects.
3
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 4
IIS-ApplicationDevelopment
The IIS-ApplicationDevelopment update contains the feature modules that support different application
types as described in the following table:
IIS-ASPNET Use this module to enable your Web server to host ASP.NET applications.
IIS-NetFxExtensibility Use this module to enable your Web server to host managed modules.
IIS-ASP Use this module to enable your Web server to host ASP applications.
IIS-CGI Use this module to enable your Web server to support CGI executables.
IIS-ISAPIExtensions Use this module to enable your Web server to use ISAPI extension mod-
ules to process requests.
IIS-ISAPIFilter Use this module to enable your Web server to use ISAPI filter to cus-
tomize the server behavior.
IIS-ServerSideIncludes Use this module to enable your Web server to support .stm, .shtm, and
.shtml include files.
IIS-HealthAndDiagnostics
The IIS-HealthAndDiagnostics package update contains the feature modules described in the following
table:
IIS-HttpLogging Use this module to enable your Web server to log Web site activities.
IIS-LoggingLibraries Use this module to install logging tools and scripts on your Web server.
IIS-RequestMonitor Use this module to enable your Web server to monitor the health of the
Web server and its sites and applications.
IIS-HttpTracing Use this module to enable your Web server to support tracing for
ASP.NET applications and failed requests.
IIS-CustomLogging Use this module to enable your Web server to support custom logging
for the Web server and its sites and applications.
IIS-ODBCLogging Use this module to enable your Web server to support logging to an
ODBC-compliant database.
4
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 5
IIS-Security
The IIS-Security package update contains the feature modules described in the following table:
IIS-Performance
The following table describes the performance feature modules:
IIS-HttpCompressionStatic Use this module to enable your Web server to compress static con-
tent before sending it to the client to improve the performance.
IIS-HttpCompressionDynamic Use this module to enable your Web server to compress dynamic
content before sending it to the client to improve the performance.
5
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 6
IIS-WebServerManagementTools
Figure 1-3 presents the Web server management feature modules.
IIS-WebServerManagementTools
IIS-WebServer
IIS-CommonHTTPFeatures
IIS-ManagementConsole
IIS-ManagementScriptingTools
IIS-ApplicationDevelopment
IIS-HealthAndDiagnostics
IIS-ManagementService
IIS-IIS6ManagementCompatibility
IIS-Security
IIS-CommonHTTPFeatures
IIS-Metabase
IIS-ApplicationDevelopment
IIS-WMICompatibility
IIS-HealthAndDiagnostics
IIS-LegacyScripts
IIS-LegacySnapIn
IIS-Security
Figure 1-3
The following table describes the feature modules contained in the IIS-WebServerManagementTools
update:
IIS-ManagementConsole This module installs the Web Server Management Console, which
allows administration of local and remote IIS Web servers.
IIS-ManagementScriptingTools Use this module to enable your Web server to support local Web
server management via IIS configuration scripts.
The following table presents the feature modules in the IIS-IIS6ManagementCompatibility update:
6
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 7
IIS-Metabase Use this module to enable your Web server to support metabase
calls to the new IIS 7 configuration store.
IIS-WMICompatibility Use this module to install the IIS 6.0 WMI scripting interfaces to
enable your Web server to support these interfaces.
IIS-LegacyScripts Use this module to install the IIS 6.0 configuration scripts to
enable your Web server to support these scripts.
IIS-LegacySnapIn Use this module to install the IIS 6.0 Management Console
to enable administration of remote IIS 6.0 servers from this
computer.
IIS-FTPPublishingService
The feature modules contained in the IIS-FTPPublishingService package update are discussed in the fol-
lowing table.
At the time of this writing, Microsoft announced that it would be releasing a significantly enhanced IIS
7 FTP server for Longhorn and (as a separate download) for Vista.
WAS-WindowsActivationService
Figure 1-4 presents the feature modules in the WAS-WindowsActivationService package update. These
modules provide the base infrastructure for process activation and management.
WAS-WindowsActivationService
IIS-WebServerRole
WAS-ProcessModel
IIS-WebServer
IIS-WebServerManagementTools
WAS-NetFxEnvironment
IIS-FTPPublishingService
WAS-ConfigurationAPI
Figure 1-4
7
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 8
❑ Because ISAPI is not a convenient or friendly API, writing an ISAPI filter or extension module is
not an easy task to accomplish. It can take a lot of time and tends to be error-prone.
❑ ISAPI is not a managed API, which means that ASP.NET developers cannot benefit from the rich
features of the .NET Framework when they’re writing ISAPI filter and extension modules.
IIS 7.0 has replaced ISAPI with a new set of convenient object-oriented APIs that make writing new fea-
ture modules a piece of cake. These APIs come in two different flavors: managed and native. The native
API is a convenient C++ API that you can use to develop and plug native modules into the core Web
server. The managed API, on the other hand, allows you to take full advantage of the .NET Framework
and its rich environment. This allows both ASP.NET developers and IIS 7 administrators to use conven-
ient ASP.NET APIs to extend the core Web server.
Request Request
Preprocessing Preprocessing
Authentication Authentication
… …
Request Request
Handler Mapper Handler Mapper
Postprocessing Postprocessing
… …
Response Response
Figure 1-5
8
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 9
At the beginning of the request, ASP.NET allows the components in its request processing pipeline to
register one or more event handlers for one or more ASP.NET application-level events. ASP.NET then
fires these events one after another and calls these event handlers to allow each component to perform
its specific request processing task. At some point along the pipeline, ASP.NET uses the configuration
file to map the request to a particular handler. The main responsibility of the handler is to process the
request and generate the appropriate markup text, which will then be sent back to the requesting
browser.
Having two separate pipelines, that is, IIS and ASP.NET pipelines working on the same request, intro-
duces the following problems:
❑ There’s a fair amount of duplication. For example, both pipelines contain an authentication
component, which means that the same request gets authenticated twice.
❑ Because the ASP.NET pipeline begins after the IIS pipeline maps the request to the
aspnet_isapi extension module, the ASP.NET pipeline has no impact on the IIS pipeline steps
prior to handler mapping.
❑ Because the rest of the IIS pipeline steps don’t occur until the ASP.NET pipeline finishes, the
ASP.NET pipeline has no impact on the IIS pipeline steps either.
❑ Because the ASP.NET pipeline kicks in only when the IIS pipeline maps the request to the
aspnet_isapi extension module, and because this mapping is done only for requests
to ASP.NET content, the ASP.NET pipeline components cannot be applied to requests to
non-ASP.NET content such as .jpg, .js, asp, CGI, and the like. For example, you cannot
use the ASP.NET authentication and authorization modules to protect the non-ASP.NET con-
tents of your application.
IIS 7 has changed all that by removing the aspnet_isapi extension module and combining the
ASP.NET and IIS pipelines into a single integrated request processing pipeline as shown in Figure 1-6.
❑ The integrated pipeline does not contain any duplicate components. For example, the request is
authenticated once.
❑ The ASP.NET modules are now first-class citizens in the integrated pipeline. They can come
before, replace, or come after any native IIS 7 modules. This allows ASP.NET to intervene at any
stage of the request processing pipeline.
❑ Because the integrated pipeline treats managed modules like native modules, you can apply
your ASP.NET managed modules to non-ASP.NET content. For example, you can use the
ASP.NET authentication and authorization modules to protect the non-ASP.NET contents of
your application, such as asp pages.
9
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 10
Request
PageHandlerFactory
Handler Mapper
StaticFile
Compression Module
Postprocessing Modules
Logging Module
Response
…
Figure 1-6
IIS 7 has changed all that. Having a single integrated pipeline made it possible for the IIS 7 team to intro-
duce a single integrated configuration system for both IIS and ASP.NET settings. Because this integrated
configuration system is an extension of the ASP.NET configuration system, the existing ASP.NET config-
uration files can easily merge into the new integrated configuration system with a little or no changes.
10
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 11
One of the great new features of the IIS 7 and ASP.NET integrated configuration system is its declarative
extensibility through a new integrated declarative schema extension markup language. Thanks to this
integrated markup language, you can extend this integrated configuration system to add support for
new configuration sections without writing a single line of imperative code such as C# or VB. This is a
departure from the imperative extensibility model of the ASP.NET configuration system, which requires
developers to write a fair amount of imperative code to extend the system.
Two very important components of the IIS 7 and ASP.NET integrated administration are the integrated
graphical management system and the integrated imperative management system. This book covers both
of these systems and their extensibility models in detail. You will learn how to extend these two systems
to add graphical and imperative management support for your own custom configuration sections.
11
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 12
Before drilling down into the details of these five setup options, you need to understand the dependen-
cies between the installable updates.
Update Dependencies
When you’re installing an update, you must also install the updates that it depends on. In general, there
are two types of dependencies: interdependencies and parent-dependencies. The following table pres-
ents the update interdependencies:
Update Depends On
IIS-WebServer WAS-ProcessModel
IIS-ASP IIS-ISAPIExtensions
IIS-RequestFiltering
IIS-ASPNET IIS-DefaultDocument
IIS-NetFxExtensibility
WAS-NetFxEnvironment
IIS-ISAPIExtensions
IIS-ISAPIFilter
IIS-RequestFiltering
IIS-NetFxExtensibility WAS-NetFxEnvironment
IIS-RequestFiltering
IIS-ManagementService IIS-WebServer
IIS-ManagementConsole
WAS-NetFxEnvironment
WAS-ConfigurationAPI
IIS-ManagementConsole WAS-ConfigurationAPI
IIS-ManagementScriptingTools WAS-ConfigurationAPI
IIS-LegacyScripts IIS-Metabase
IIS-WMICompatibility
Every update also depends on its parent update. For example, to install IIS-WebServer, you must also
install its parent update, IIS-WebServerRole.
12
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 13
Figure 1-7
4. Expand the Internet Information Services option to see the tree of update nodes discussed in the
previous sections. You can install or uninstall each update by simply toggling it on or off and
finally clicking the OK button. Notice that when you select an update, its parent update and the
update that it depends on are automatically selected.
13
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 14
Server Manager
In this section, I show you how to use the Server Manager tool to build your customized Web server on
the Windows Server 2008 operating system. Before doing so, you need to familiarize yourself with three
basic Windows Server 2008 terms known as roles, role services, and features.
Every server provides its clients with a set of services. These services are grouped into what are known
as roles. Installing a server role means installing one or more role services that belong to the role. In
other words, when you’re installing a server role, you don’t have to install all its associated role services.
Here is an example: There is a server role known as Web Server, which enables a server to exchange
information over the Internet, an intranet, or an extranet. Another example of a server role is UDDI
Services. This role enables a server to provide its clients with Universal Description, Discovery, and
Integration (UDDI) services to exchange information about Web services over the Internet, an intranet,
or an extranet.
A feature is a piece of software that does not belong to any particular role, but it provides services to one
or more server roles and their associated role services. An example of a feature is the Windows Process
Activation Service. This service enables the server in the Web Server role to process requests made
through all kinds of communication protocols, such as TCP or HTTP.
A role, role service, or feature may depend on other roles, role services, and features. For example, the
UDDI Services depend on the Web Server role for the actual exchange of information over the Internet,
intranet, or extranet. When you attempt to install a role, role service, or feature that depends on other
roles, role services, and features, the Server Manager prompts you to approve the installation of the
roles, role services, and features on which the role, role service, or feature being installed depends.
Now back to the business at hand, which is building a customized Web server. Take one of the following
steps to launch the Server Manager:
❑ Select Start ➪ All Programs ➪ Administrative Tools ➪ Server Manager from Administrative
Tools to launch the Server Manager tool shown in Figure 1-8.
❑ First launch the Control Panel, double-click the Administrative Tools icon in the Control Panel,
and then double-click the Server Manager to launch the Server Manager tool shown in Figure 1-8.
As Figure 1-8 shows, the left pane contains a node named Server Manager, which in turn contains a child
node named Roles. As just discussed, a server can be in one or more roles. As you can see from Figure 1-8,
in a clean install of Windows Server 2008 the server is originally in no roles. The role that you’re inter-
ested in is the Web Server role. Recall that this is the role that allows the server to share information on
the Internet, an intranet, or an extranet. The first order of business is to launch a wizard named Add
Roles to add this role to your server.
14
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 15
The first page of the Add Roles Wizard provides you with some preliminary instruction. Read the
instructions and make sure your account meets the specified requirements as shown in Figure 1-9.
Figure 1-9
15
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 16
Figure 1-10
Check the Web Server (IIS) item shown in Figure 1-10. It should show you the popup shown in
Figure 1-11 informing you that you need to install the Windows Process Activation Service. Click the
Add Required Features button on this popup to install the Windows Process Activation Service.
Now click Next to go the next page, which provides some preliminary information. Click Next again to
go to the page shown in Figure 1-12.
Notice that some package updates are already selected. These updates form the default installation of
the Web server. Note that when you turn on an update that depends on other updates, the Server
Manager tool pops up a message showing the updates on which the selected update depends and
informing you that you need to install the dependent updates as well. For example, when you check the
ASP.NET option, the Server Manager pops up the message shown in Figure 1-13.
After you’re done with toggling on the desired updates, click the Next button in Figure 1-13 to move on
to the confirmation page shown in Figure 1-14, which lists all the selected updates and their dependent
updates. At this point these updates have not been installed yet.
16
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 17
Figure 1-11
Figure 1-12
17
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 18
Figure 1-13
Figure 1-14
18
Exploring the Variety of Random
Documents with Different Content
PLATE CCCXVIII.
H Æ M A N T H U S M U LT I F L O R U S .
Many-flowered Blood-Flower.
CLASS VI. ORDER I.
HEXANDRIA MONOGYNIA. Six Chives. One Pointal.
GENERIC CHARACTER.
Calyx. Involucrum hexaphyllum, maximum, umbelluliferum; foliolis
erectis, oblongis, persistentibus.
Corolla monopetala, erecta, sexpartita; laciniis erectis, linearibus; tubo
brevissimo, angulato.
Stamina. Filamenta sex, subulata, tubo corollæ inserta, corolla longiora.
Antheræ incumbentes, oblongæ.
Pistillum. Germen inferum. Stylus simplex, longitudine staminum.
Stigma simplex.
Pericarpium. Bacca subrotunda, trilocularis.
Semina solitaria, triquetra.
Empalement. Fence six-leaved, large, bearing a small umbel; leaflets
upright, oblong, permanent.
Blossom one petal, upright, six-parted; segments upright, linear; tube
very short, angular.
Chives. Threads six, awl-shaped, inserted into the tube of the blossom,
longer than the blossom. Tips laying on the threads, oblong.
Pointal. Seed-bud beneath. Shaft simple, the length of the chives.
Summit simple.
Seed-vessel. Berry roundish, three-celled.
Seeds solitary, three-sided.
SPECIFIC CHARACTER.
Hæmanthus foliis plicatis, undulatis, erectis, lato-lanceolatis; umbella
globosa; floribus confertis; petalis patentibus; scapo ad basin maculato.
Blood flower with plaited leaves, waved, upright and broad-lance shaped;
umbel globular; flowers crowded; petals spreading; flower-stem spotted at
the base.
REFERENCE TO THE PLATE.
1. The Leaves and part of the Flower-Stem, in miniature.
2. A Flower, complete, natural size.
3. The Seed-bud, Shaft, and Summit.
4. A Seed-bud, cut transversely.
5. The embryo of a Seed.
This plant is said to have been in our European gardens so long ago as the
year 1603: having, at that time, been sent to Paris by the younger Robin from
Guinea. But however this may be, as yet there is no figure of the plant by
which it may be known from many of this beautiful tribe, except the one by
the late Mr. Nodder. We are indebted for its last introduction to the
honourable the Sierra Leone Company, who received, in 1792, the roots of
this plant, amongst many others, from that settlement; which were by them
presented to Messrs. Lee and Kennedy, at Hammersmith. Our figure was
taken in June from a plant in flower this present year, 1803, in the collection
of J. Vere, Esq. Kensington Gore, where, from particular management of Mr.
Anderson, the same root has flowered several times; a circumstance that but
rarely happens with these bulbs after the first year from importation. As a
native of so hot a clime it must be kept in the bark bed of the hot-house; and,
when the plant is not in flower, should be watered but sparingly. We as yet
are unacquainted with any mode by which it may be propagated. It
flourishes most in rich mould. Our figure represents the plant in a small
specimen, as the head of flowers is frequently, in this country, of three times
the size.
PLATE CCCXIX.
VICIA GALEGIFOLIA.
Goat’s-Rue-leaved Vetch.
CLASS XVII. ORDER IV.
DIADELPHIA DECANDRIA. Chives in two sets. Ten Chives.
GENERIC CHARACTER.
Calyx. Perianthium monophyllum, tubulatum, erectum, semi-
quinquefidum, acutum; dentibus superioribus brevioribus, conniventibus;
omnibus æqualis latitudinis.
Corolla papillionacea.
Vexillum ovale, ungue lato oblongo, apice emarginatum cum acumine,
lateribus reflexum, linea longitudinali compressa elevata.
Alæ duæ, oblongæ, erectæ, semicordatæ, ungue oblongo, vexillo breviores.
Carina ungue oblongo bipartito, ventriculo compresso, semiorbiculato, alis
breviore.
Stamina. Filamenta diadelphia (simplex et novemfidum). Antheræ
erectæ, subrotundæ, quadrisulcæ.
Nectarii glandulæ intra stamen compositum et germen e receptaculo oritur,
brevis, acuminata.
Pistillum. Germen lineare, compressum, longum. Stylus filiformis,
brevior, ad angulum erectum adscendens. Stigma obtusum, sub apice
transverse barbatum.
Pericarpium. Legumen longum, coriaceum, uniloculare, bivalve,
acumine terminatum.
Semina plura, subrotunda.
Empalement. Cup one-leaf, tubular, upright, half five-cleft sharp; the
upper teeth the shortest, approaching; all the teeth of equal breadth.
Blossom butterfly-shaped.
Standard oval, with a broad oblong claw, notched at the top, with a point in
the middle, sides reflexed, compressed and raised in a line running
lengthways.
Wings two, oblong, erect, half-heart shaped, with an oblong claw, shorter
than the standard.
Keel, with an oblong two-parted claw, the hollow part compressed like a half
circle shorter than the wings.
Chives. Threads in two sets, (one alone, the other nine-cleft.) Tips
upright, roundish four-furrowed.
Honey-cup, gland arising from the receptacle between the united threads and
the seed-bud; short and tapered.
Pointal. Seed-bud linear, compressed and long. Shaft thread-shaped,
shorter, turned upwards from an angle. Summit blunt, bearded transversely
on the upper part at the end.
Seed-vessel. Pod long, tough, one-celled, two-valved terminated by a
point.
Seeds many, rather round.
SPECIFIC CHARACTER.
Vicia pedunculis multifloris erectis; floribus striatis; foliolis ovalibus,
subtruncatis, reflexis.
Vetch with many-flowered, upright fruit-stalks; flowers streaked; leaflets
oval, rather appearing cut off at the points, reflexed.
REFERENCE TO THE PLATE.
1. The Cup.
2. The Standard, or upper Petal of the Flower, shewn in front.
3. The same, shewn from the back-side.
4. One of t#e Wings of the Blossom.
5. The Keel of the same.
6. The Chives, natural size.
7. The Pointal, natural size.
8. The Chives, magnified, shewn from the front side.
9. A half-ripe Pod.
This pretty plant is a native of New Holland, and was first received in seeds
from thence under the name of Indigofera coccinea, in the year 1800, by
Messrs. Lee and Kennedy, Hammersmith. It grows into a bushy plant,
making a number of branches from the root, but is rather a woody than
herbaceous plant; yet the branches have all the character of most of the
species of this genus. It has not as yet been increased by cuttings, but from
every appearance the seeds will ripen in this country; and there is little doubt
but the roots may be divided with safety. It flourishes in a mixture of sandy
peat and loam. Our figure was taken from a plant in the Collection of
Messrs. Colvilies, King’s Road, Chelsea; where it has likewise flowered this
present August, 1803.
PLATE CCCXX.
P U LT E N Æ A I L I C I F O L I A .
Holly-leaved Pultenæa.
CLASS X. ORDER I.
DECANDRIA MONOGYNIA. Ten Chives. One Pointal.
ESSENTIAL GENERIC CHARACTER.
Calyx quinque-dentatus, utrinque appendiculatus. Corolla papillionacea,
alis vexillo brevioribus. Legumen uniloculare, dispermum.
Cup five-toothed, with an appendage on each side. Blossom butterfly-
shaped, wings shorter than the standard. Pod one-celled, two seeded.
See Pultenæa daphnoides, Pl. XCVIII. Vol. II.
SPECIFIC CHARACTER.
Pultenæa foliis hastatis, serratis, rigidis; floribus axillaribus, racemosis.
Pultenæa with halbert-shaped leaves, sawed and harsh; flowers grow
from the insertion of the leaves in long bunches.
REFERENCE TO THE PLATE.
1. The Cup, natural size.
2. The same, magnified.
3. The Standard, or upper petal of the blossom.
4. One of the Wings of the same.
5. The two petals of the keel of the same.
6. The Chives and Pointal.
7. The Chives, magnified.
8. The Seed-bud, Shaft and Summit, magnified.
This species of Pultenæa was introduced, from New Holland, about the year
1792, by Messrs. Lee and Kennedy, Hammersmith, and is undoubtedly one
of the handsomest of the genus. It is difficult to increase as the seeds do not
mature, and it is very rarely propagated by cuttings. It grows to the height of
three or four feet; and, when in flower, makes a very brilliant appearance. It
is not a long-liv’d plant; is very impatient of wet, and is easily hurt by the
cold, so should be kept in a dry and warm part of the green-house, or even
on a shelf in the hot-house, during the winter months. It thrives in very sandy
peat earth without any mixture. Our drawing was made from a plant in the
Hibbertian Collection, in the month of June, 1801.
PLATE CCCXXI.
A R E T H U S A P L I C ATA .
Plaited-leaved Arethusa.
CLASS XX. ORDER I.
GYNANDRIA DIANDRIA. Chives on the Pointal. Two Chives.
GENERIC CHARACTER.
Calyx. Spatha foliacea. Perianthium nullum.
Corolla, ringens; petala quinque, oblonga, subæqualia, duo exteriora,
omnia conniventia in galeam.
Nectarium monophyllum, basi tubulosum, intra corollæ fundum, bipartitum;
labio inferiore reflexo, lato, rugoso, longitudine petalorum, propendente;
labio superiore lineari, tenerrimo, stylo adnato, apice lobato.
Stamina. Filamenta duo, brevissima, pistilli apici insidentia. Antheræ
ovatæ, compressæ, tectæ duplicatura labii interioris nectarii.
Pistillum. Germen oblongum, inferum. Stylus oblongus, incurvus, labio
interiore nectarii vestitus. Stigma infundibuliforme.
Pericarpium. Capsula oblongo-ovata, unilocularis, tri-valvis, angulis
dehiscens.
Semina numerosa, acerosa.
Empalement. Sheath leafy. Cup none.
Blossom gaping. Five petals, oblong, nearly equal, two outer, all
converging into a helmet.
Honey-cup one-leafed, tubular at the base, within the bottom of the blossom,
two-parted; lower lip reflexed, broad, wrinkled, the length of the petals,
hanging down forwards; upper lip linear, very delicate, fixed to the shaft,
lobed at top.
Chives. Two threads, very short, sitting on the top of the pointal. Tips
egg-shaped, flattened, covered by the folding of the inner lip of the honey-
cup.
Pointal. Seed-bud oblong, beneath. Shaft oblong, incurved, cloathed by
the inner lip of the honey-cup. Summit funnel-shaped.
Seed-vessel. Capsule oblong egg-shaped, one-celled, three-valved,
splitting at the angles.
Seeds numerous, chaffy.
SPECIFIC CHARACTER.
Arethusa radice globosa; folio cordato, plicato, hirsuto.
Arethusa with a globular root; leaf heart-shaped, plaited and hairy.
REFERENCE TO THE PLATE.
1. The Plant, after the Flower has disappeared.
2. The Petals of the Flower, spread open.
3. The Honey-cup, spread open.
4. The Chives and Pointal.
5. The same, magnified; the hood, to which the chives are attached,
lifted up.
This singular little bulbous rooted plant was received this year, 1803, in
the month of April, amongst a number of other curious new seeds and bulbs,
from the East-Indies, by Aylmer Bourke Lambert, Esq. by whom they have
been communicated to different collections. Although the plant has
considerable affinity with Arethusa, yet we entertain doubts whether it
should not be placed to Limodorum, as it wants many of the generic
characters of the former genus, and but few, and those but trivial in its
correspondence, to the latter. We have, notwithstanding, given it the title
under which it was sent, submitting our judgment to what we conceive better
authority. There is little doubt but the plant will soon be lost in our
collections, as but few of this natural order are either to be propagated or
kept by any cultivation we are at present acquainted with. Our figure was
taken from a plant which flowered in the hot-house of J. Vere, Esquire,
Kensington Gore, in the month of July, before there was any appearance of
either root or leaf from the bulb. It was in flower at the same time in the
Collection of Sir Abraham Hume, Bart. Wormley-Bury, Herts.
PLATE CCCXXII.
P I T C A I R N I A L AT I F O L I A .
Broad-leaved Pitcairnia.
CLASS VI. ORDER I.
HEXANDRIA MONOGYNIA. Six Chives. One Pointal.
ESSENTIAL GENERIC CHARACTER.
Calyx triphyllus, semisuperus. Petala 3. Squama nectarifera ad basin
petalorum. Stigmata tria contorta. Capsula tria, introrsum dehiscentes.
Semina alata.
Empalement three-leaved, half superior. Petals three; with a scaly honey-
cup at the base of the petals. Three summits twisted. Three capsules,
splitting from the inside. Seeds winged.
SPECIFIC CHARACTER.
Pitcairnia foliis integerrimis, basi subspinosis.
Pitcairnia with leaves quite entire, rather spiney at the base.
REFERENCE TO THE PLATE.
1. The Empalement.
2. One of the Petals, with its scale at the base.
3. The Chives and Pointal, cleared from the Petals.
4. The Pointal, the Summits detached, magnified.
5. The Seed-bud, cut transversely.
The species of Pitcairnia here figured is a native of Jamaica, and was first
introduced to Britain by Mr. A. Anderson, in the year 1785. It does not
flower so readily as some of the other species, but is equally easy to
increase; flourishes in rich earth, and may be kept on a shelf of the hot-house
until its flower-stem appears; when, to encourage its flowering, it should be
plunged in the bark-bed.—Our drawing was made, in the month of July,
from a plant in the Collection of J. Vere, Esquire, Kensington Gore.
PLATE CCCXXIII.
G E R A N I U M B A R B AT U M . Va r. M i n o r.
Bearded-leaved Geranium. Lesser Var.
CLASS XVI. ORDER IV.
MONADELPHIA DECANDRIA. Threads united. Ten Chives.
ESSENTIAL GENERIC CHARACTER.
Monogynia. Stigmata quinque. Fructus rostratus, penta-coccus.
One Pointal. Five Summits. Fruit furnished with long awns, five dry
berries.
SPECIFIC CHARACTER.
Geranium foliis pinnatis; foliolis inequaliter, dentatis, apice barbatis;
floribus umbellatis; petalis linearibus, recurvatis; staminibus quinque
fertilibus, binis longioribus; scapo polystachio; radice tuberosa.
Geranium with winged leaves, leaflets unequally toothed, and bearded at
the point; flowers grow in umbels, petals linear, recurved; five fertile chives,
two longer; flower-stem branched; root tuberous.
REFERENCE TO THE PLATE.
1. The Cup cut open, to shew its tubular structure.
2. The Chives and Pointal, natural size.
3. The Chives cut open, magnified.
4. The Pointal, natural size.
5. The same, magnified.
Our present figure is taken from a plant in the Hibbertian Collection,
Clapham; and is a very strong variety of the Bearded-leaved Geranium of a
former number, taken from the same source. It is, as far as appearances lead,
no way differing in character from the rest of the tuberous species of this
genus, to require any other treatment. Flowers in June or July.
PLATE CCCXXIV.
MAGNOLIA PURPUREA.
Purple-flowered Magnolia.
CLASS XIII. ORDER VII. of Schreb. Gen. Plants.
POLYANDRIA POLYGYNIA. Many Chives. Many Pointals.
ESSENTIAL GENERIC CHARACTER.
Calyx 3-phyllus. Petala 6-12. Capsulæ 2-valves, imbricatæ. Semina
baccata, pendula.
Cup 3-leaved. Petals 6-12. Capsules 2-valved, tiled. Seeds, berries,
pendulous.
See Magnolia pumila, Pl. CCXXVI. Vol. IV.
SPECIFIC CHARACTER.
Magnolia foliis obovatis, flaccidis; floribus purpureis; petalis obovatis,
divaricatis.
Magnolia with inversely egg-shaped, flaccid leaves; flowers purple;
petals inversely egg-shaped and straddling.
REFERENCE TO THE PLATE.
1. The Chives and Pointals.
2. A Chive, magnified.
3. The Pointals.
This fine species of Magnolia is a native of China and Japan, was introduced
to us by the late Mr. Slater of Laytonstone, to whom we are so much
indebted for the greatest number of beautiful plants which have been
imported from thence by any individual. It is a very free growing plant; will
resist the severity of our winters, if planted in a warm situation, and is
deciduous; but if kept in the conservatory, it retains its leaves the whole year,
and flowers about June. It is propagated with ease by laying, or by cuttings,
and thrives in peat earth, with a small mixture of loam. The plant from which
our figure was taken is in the magnificent Conservatory of the Right
Honourable the Marquis of Blandford, White Knights, near Reading, Berks;
and, we believe, the finest specimen of this species of Magnolia in Britain.