Back to description
Internet Information Services 7.0 (IIS 7) is the latest version of Microsoft Web server. IIS 7 has gone through significant... more
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 feature 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.
... less
This chapter discusses the new IIS 7 and ASP.NET integrated configuration system. You’ll learn about the hierarchical... more
This chapter discusses the new IIS 7 and ASP.NET integrated configuration system. You’ll learn about the hierarchical structure of the configuration files that make up this integrated system, the hierarchical relationships among the files themselves, and the notion of the declarative versus imperative schema extension. The chapter then dives into the structure 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.
applicationHost.config
The previous two chapters provided in-depth coverage of the IIS7 and ASP.NET integrated configuration system.... more
The previous two chapters provided in-depth coverage of the IIS7 and ASP.NET integrated configuration system. As discussed, you can use this system to manage both the Web server and ASP.NET sites and applications. This chapter shows you how to interact with this integrated system and how to extend its schema to add support for your own custom configuration sections.
The previous chapters walked you through the XML structure of the IIS7 and ASP.NET integrated configuration system.... more
The previous chapters walked you through the XML structure of the IIS7 and ASP.NET integrated configuration system. You learned a great deal about the XML elements and attributes that make up this system. You also learned how to use the IIS7 Manager and APPCMD command-line tool to indirectly manipulate these XML elements and attributes.
APPCMD
There are times when you want to manipulate these XML elements and attributes from your C# or Visual Basic code. Obviously, GUI-based and command-line–based approaches such as the IIS7 Manager and the APPCMD tool won’t help you with this.
The managed classes of the new Microsoft.Web.Administration namespace together form an API that allows you to treat the XML elements and attributes of the IIS7 and ASP.NET integrated configuration system as managed objects, which means you can use object-oriented managed code to manipulate them.
Microsoft.Web.Administration
The previous chapters provided in-depth coverage of the following four important components of the IIS7 and ASP.NET integrated... more
The previous chapters provided in-depth coverage of the following four important components of the IIS7 and ASP.NET integrated infrastructure:
IIS7 and ASP.NET integrated configuration system
IIS7 and ASP.NET integrated graphical management system (IIS7 Manager)
IIS7 and ASP.NET integrated imperative management system
IIS7 and ASP.NET integrated request processing pipeline
As discussed, the modular architecture of the IIS7 and ASP.NET integrated request processing pipeline allows you to plug your own custom feature modules into the integrated pipeline to add support for new custom processing capabilities. Adding a new custom feature module also requires you to:
Extend the IIS7 and ASP.NET integrated configuration system to add support for a new configuration section to allow the clients of your custom feature module to configure the module from configuration files
Extend the IIS7 and ASP.NET integrated graphical management system (IIS7 Manager) to add support for new graphical components to allow the clients of your custom feature module to configure the module from the IIS7 Manager
Extend the IIS7 and ASP.NET integrated imperative management system to add support for new managed classes that allow the clients of your custom feature module to configure the module from their C# or Visual Basic code in a strongly-typed fashion
Therefore, extending the IIS7 and ASP.NET integrated infrastructure requires you to have a solid understanding of the following four extensibility models:
IIS7 and ASP.NET integrated configuration extensibility model
IIS7 and ASP.NET integrated graphical management extensibility model
IIS7 and ASP.NET integrated imperative management extensibility model
IIS7 and ASP.NET integrated request processing pipeline extensibility model
An extensibility model provides you with the necessary infrastructure and tools to add support for new extensions.
Chapter 3 provided in-depth coverage of the new IIS7 Manager and its rich capabilities, such as: ... more
Chapter 3 provided in-depth coverage of the new IIS7 Manager and its rich capabilities, such as:
You can use the IIS7 Manager to configure both the IIS7 Web server and ASP.NET Web applications. This is a departure from the previous versions of IIS, where you needed to use two separate management tools because the Web server and ASP.NET were using two completely different configuration systems.
The IIS7 Manager contains the logic that takes the hierarchical nature of the IIS7 and ASP.NET integrated configuration system into account. Configuration changes made at a particular level of the configuration hierarchy are automatically saved into either the configuration file in that hierarchy level or a <location> element in a configuration file in a higher hierarchy level. For example, configuration changes made at site level are stored in the root web.config file of the site, which means that these changes will only affect the Web applications in that site.
<location>
web.config
Chapter 3 discussed these two and many other capabilities of the IIS7 Manager in detail. This and the next chapter discuss a very important aspect of the IIS7 Manager that wasn’t covered in the previous chapters, that is, its extensible architecture. The extensibility of the IIS Manager is of paramount importance to ASP.NET developers and IIS7 administrators alike. If the IIS7 Manager is to be the management tool of choice for ASP.NET developers, it must allow developers to extend its graphical capabilities to add graphical support for new configuration sections. In other words, developers should be able to specify configuration settings of their own custom configuration sections from the IIS7 Manager tool.
Extending the IIS7 and ASP.NET integrated graphical management architecture requires you to have a solid understanding of this architecture and its main components. This is exactly what we’re going to do in this chapter. This chapter sets the stage for the next chapter, where you’ll use what you’ve learned in this chapter to extend this integrated architecture to add graphical support for a custom configuration section.
As you may recall from Chapter 3, interacting with the IIS7 Manager is much like interacting with a Web application. At a very basic level, a Web application is a collection of Web pages and a navigation system that allows end users to navigate through these Web pages. As such, the page is the module or unit of extensibility in a navigation/page-based application such as a Web application. That is, you extend the application by adding new pages. The IIS7 Manager’s graphical architecture follows this page/navigation paradigm as discussed in the following sections.
The previous chapter provided in-depth coverage of the main classes of the IIS7 and ASP.NET 3.5 integrated graphical management... more
The previous chapter provided in-depth coverage of the main classes of the IIS7 and ASP.NET 3.5 integrated graphical management architecture. This chapter shows you how to use what you’ve learned in the previous chapter to extend this architecture to add graphical management support for your own custom configuration sections.
You have to write two sets of managed code to extend the IIS7 and ASP.NET 3.5 integrated graphical management system: client-side managed code and server-side managed code. By client-side managed code I mean the managed code that you have to write to extend the user interface of the IIS7 Manager. By server-side managed code I mean the managed code that you have to write to enable the back-end Web server to communicate with the IIS7 Manager.
This chapter shows you how to implement and how to plug configurable managed handlers, handler factories,... more
This chapter shows you how to implement and how to plug configurable managed handlers, handler factories, and modules into the IIS 7 and ASP.NET integrated request processing pipeline to extend this integrated pipeline to add support for custom configurable request processing capabilities. I present the discussions in the context of several practical examples that you can use in your own Web applications.
A provider-based service is a piece of software that can service a specific type of data from any type of data store.... more
A provider-based service is a piece of software that can service a specific type of data from any type of data store. The ASP.NET Framework comes with standard provider-based services such as:
User membership service, which services user membership data from any type of data store
Role management service, which services role data from any type of data store
User profile service, which services user profile data from any type of data store
Provider-based services play a central role in data-driven Web applications where data comes from many different types of data stores, such as SQL Server databases, Oracle databases, XML documents, flat files, and Web services, just to name a few. A provider-based service hides the data-store–specific data access APIs behind a standard API to enable all clients of the service to use the same API to interact with any type of data store. In other words, these clients can write one set of data access code that can interact with all types of data stores without code changes.
The IIS 7 and ASP.NET integrated providers model is an extensible infrastructure that allows you to implement fully configurable provider-based services and plug them into the IIS 7 and ASP.NET integrated infrastructure.
I begin this chapter by discussing why you need provider-based services in the first place. I then use an example to show you the integrated providers model in action before getting into the implementation details. Next, I dive into to the internals of the integrated providers model in preparation for the next chapter, where I show you how to extend the integrated providers model to implement fully configurable provider-based services and to plug them into the IIS 7 and ASP.NET integrated infrastructure.
The previous chapter provided in-depth coverage of the IIS 7 and ASP.NET integrated providers model where you learn a... more
The previous chapter provided in-depth coverage of the IIS 7 and ASP.NET integrated providers model where you learn a great deal about the internals of this model and its constituent components. You also saw this model in action. This chapter builds on what you learned in the previous chapter to teach you how to extend the integrated providers model to implement fully configurable provider-based services.
I begin the chapter by presenting a detailed step-by-step recipe for extending the integrated providers model. Then I use this recipe to implement a fully configurable RSS provider-based service that can generate RSS data from any type of data store.
As the previous chapters of this book show, the IIS 7 and ASP.NET integrated programming environment enables you to implement... more
As the previous chapters of this book show, the IIS 7 and ASP.NET integrated programming environment enables you to implement many of your application requirements in a .NET-compliant language such as C# or Visual Basic. For example, you learned how to use managed code to extend the integrated request processing pipeline to plug in a new managed module, handler, or handler factory, how to extend the integrated configuration system to add a new configuration section, how to extend the integrated imperative management system to add new imperative management classes, how to extend the integrated graphical management system to add new graphical management components such as module pages, task forms, and so on, and how to extend the integrated providers model to add support for new configurable provider-based services.
This chapter shows you how to use the IIS 7 and ASP.NET integrated tracing and diagnostics infrastructure to instrument your managed code with tracing to enable tracking of the execution of your managed code. You learn 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.
Windows Communication Foundation (WCF) is a comprehensive layered framework for service-oriented programming.... more
Windows Communication Foundation (WCF) is a comprehensive layered framework for service-oriented programming. The top layer of this framework, known as the Service Model layer, allows you to model the communications of your software product with the outside world with minimal time and effort. The framework then extracts all the required information from your model and uses this information to create and to configure the runtime components needed to implement your model from a lower layer of the framework (known as the Channel layer). In other words, you’re only responsible for modeling the communications of your products with the outside world, and you don’t have to worry about actually implementing this model. This saves you from having to deal with dirty little details of the underlying runtime components that implement your model, and consequently allows you to focus on what matters to your application, that is, the domain-specific requirements of your application.
Service Model
Channel
This chapter presents and discusses the implementation of an example that will show you how to use the Windows Communication Foundation Service Model to model the communications of your own software products. During the course of this chapter you’ll see how you can take advantage of the deep integration of ASP.NET and WCF services in the IIS 7 environment in your own Web applications.
Purchase Before purchasing this product, please be sure you have met all software and system requirements, and that you understand any limits placed upon its use.
Return Policy Wrox Chapters on Demand are non-returnable and non-refundable.
Reader Software Wrox Chapters on Demand are offered as PDFs, and they must be viewed using the Adobe Reader. If you do not have the Reader installed, it can be downloaded for free at Adobe.com.
Test Download As Wrox Chapters on Demand purchases are non-returnable, it is advisable that you test your system and software configurations with a free sample download before you place an order.
Usage Rights for a Wrox Chapter on Demand File Any Wrox Chapter on Demand product you purchase from this site will come with certain restrictions that allow Wiley to protect the copyrights of its products. After you purchase and download this title, you:
If you have any questions about these restrictions, you may contact Customer Care at (877) 762-2974 (8 a.m. - 5 p.m. EST, Monday - Friday). If you have any issues related to Technical Support, please contact us at 800-762-2974 (United States only) or 317-572-3994 (International) 8 a.m. - 8 p.m. EST, Monday - Friday).
Related Books
ASP.NET Resources