Build More Flexible Web Applications
For developers wanting to create flexible Web applications, Internet Information Server 7.0 (IIS7) provides a powerful platform on which to build. With IIS7, developers can take control of the Web server footprint to increase security and decrease patching, more quickly resolve faulty applications, release to market faster, and reduce support costs with simplified deployment and application configuration, as well as rapidly leverage new technologies with IIS7's extensible framework. IIS7 is also more efficiently managed with the introduction of new management APIs, a powerful new UI, a suite of command-line tools, and the capability to manage IIS7 directly from Windows PowerShell™.
IIS7 is now factored into more than 40 feature modules that can be independently installed, removed, or replaced, thus dramatically lowering the footprint on a computer and reducing the potential attack surface.
Developers can leverage IIS7's modular design to take advantage of its extensibility through the following features:
Request-processing pipeline—IIS7's core features are delivered as modules built using a new set of public APIs. For the first time, developers can use these APIs, rather than the Internet Server API (ISAPI), to extend, replace, or add functionality with native or managed modules and handlers. These custom services become part of the core HTTP request-processing pipeline servicing all incoming requests, which allows you to use managed code to service requests intended for any Web application including static content, PHP, or classic ASP.
Extensible user interface—the new UI is also modular and extensible. Using Windows Forms, developers can create a page to configure the application and load it as a feature in the IIS7 UI. Then developers can delegate authority to change or lock those settings. This approach allows seamless integration into the IIS7 feature set, eliminates the need to provide a separate configuration console for the application, and enables the settings to be managed with the new UI, AppCmd, PowerShell, or other administration tools.
Extensible IIS7 configuration schema—the IIS7 schema is easily extended with a simple XML snippet.
Powerful Diagnostic Capabilities
IIS7 enables developers and IT professionals to easily troubleshoot Web sites and applications. It exposes runtime diagnostic information to administrators, and can also be configured to automatically log detailed trace events for requests when failures are detected (based on user-configurable rules) or that take too long to execute. Because these diagnostic capabilities in IIS7 are extensible as well, new diagnostic events can be inserted into custom modules, handlers, and ASP.NET applications; and custom trace providers can replace existing providers in the tracing infrastructure.
New Configuration Model
IIS7 configuration has been redesigned to streamline administration and provide many new features, including the following:
Delegated Administration—an IIS7 administrator can delegate control of specific features to a Web site's operator or developer. When a feature is delegated, a developer can control the feature's configuration in the Web.config file. Delegated administration makes site deployment easier because site configuration settings are deployed with the site content. It also reduces the number of requests to server administrators to make common site configuration changes such as altering the default page or enabling a type of authentication.
Granular Locking—authority over delegated settings is centralized and granular. An IIS7 administrator can delegate control of the default document service by IIS7, but in doing so can require that a particular home page will always be in the list. IIS7 configuration granularity provides a rich set of options including LockElementsLockAllElementsExceptLockAttributesLockAllAttributesExceptLockItem, LockAllElementsExceptLockAttributesLockAllAttributesExceptLockItem, LockAttributesLockAllAttributesExceptLockItem, LockAllAttributesExceptLockItem, and LockItem.
.NET Collaborative Configuration—IIS7 configuration is based on and works with the ASP.NET configuration model. The centralized store for IIS7 configuration, ApplicationHost.config, is an XML file that has been redesigned from IIS6's metabase.xml to conform to an ASP.NET-style configuration file. Additionally, both ASP.NET and IIS7 optionally use the Web.config file to store configuration information. You can even configure .NET settings within the IIS UI and manage both ASP.NET and IIS7 configurations with the same programmatic interfaces.
Built on the track record of IIS6, IIS7 offers increased security through a reduced installation footprint, granular locking of features, integration with .NET role and membership providers, and URLrequestFiltering capabilities. Additionally, security administration is easier because the IIS anonymous user is now a built-in account rather than a local account. This change helps to ensure that file permissions for the anonymous user are consistent between servers.