This article is based on a pre-release version of the IIS 7.0 FastCGI component. All information contained in this article is likely to change.
This article discusses:
asp.net integration mode
Add user authentication
Enable search engine friendly URLs
Improving performance with output caching
This article uses the following techniques: IIS 7.0, the. NET Framework
About a year ago, I wrote an overview of IIS 7.0, published in the journal MSDN® (see IIS 7.0 on MSDN.MICROSOFT.COM/MSDNMAG/ISSUES/07/03/IIS7: Exploring W for Windows Vista) EB Server and more content "). That was a few months before IIS 7.0 was released with Windows vista®. Since then, users have had the opportunity to experience the new IIS 7.0 component and extensible architecture and other improvements.
Since Windows Vista was released, we have worked hard to ensure that IIS 7.0 becomes a secure, reliable WEB server in Windows server®2008, enhancing its stability, performance, and support for the hosting environment. We are also acutely aware of the implications of IIS 7.0 becoming a flexible WEB application platform. In addition to being an excellent platform for Microsoft application frameworks such as ASP and asp.net, we want it to be a major platform for many of the other application frameworks used today. To facilitate this goal, we have increased support for FastCGI, an open WEB server standard that enables IIS to host application frameworks such as PHP, Ruby on Rails, and Perl. We also work with the creator of PHP, Zend Technologies, to provide a reliable, high-performance PHP implementation in Windows® and IIS.
IIS 7.0 is not limited to providing production support for popular application frameworks. IIS 7.0 uses the new Microsoft®.net Framework extensibility model to give full play to the ASP.net integration model and add critical functionality to applications developed using any framework. This allows you to add cool features, such as access control or a new URL scheme, that can significantly improve performance, usually without changing a line of code.
In this article, we'll delve into the IIS 7.0 ASP.net integration feature to enhance an application that is not developed using ASP.net. I'll show you how to use the existing ASP.net functionality to enhance your application while leveraging the IIS-level asp.net extensibility to develop new features and add them to your application.
The application we want to discuss is a popular PHP gallery application called Qdig (qdig.sourceforge.net). I'll show you how to add new convenience features to the gallery program without changing one line of PHP code. First, I use ASP.net membership and form authentication to password-protect the gallery. I will then use the search engine friendly URL instead of an unsightly parameterized query string URL to upgrade it. Finally, I will use the ASP.net output cache to significantly improve the performance of the application.
However, we first need to understand the background of the new PHP support in IIS, which is a central issue for allowing an application framework like PHP to have all of the IIS 7.0 feature sets.