Free no-hassle blogging with Quick Blog

In my first ever blog post, I mentioned that my dream was to eventually self-host my blog on home IIS7 server, running latest Windows “Longhorn” builds with many cool features based on modules I write while working on IIS7 at my job on the IIS team. My dream has been sitting idle in my basement … [Read more…]

Try out the IIS FastCGI techical preview

As you know, we released the FastCGI technical preview this week, aimed at providing a fast and stable platform for running FastCGI applications like PHP.  Its been very popular, with more downloads then we have expected for the first week. I wanted to say thank you to everyone trying this out.  By trying it out, … [Read more…]

IIS7 modules vs. IIS6 ISAPI: Memory Management

For post #3 in the IIS7 Modules vs. IIS6 ISAPI series, let’s look at one of the biggest trouble areas that bite ISAPI developers – managing memory. If you develop software that uses Win32 APIs, you should be familiar with the feeling you get when you look at the MSDN documentation of a fairly simple … [Read more…]

The PHP / FastCGI Technical Preview is Live!

After several weeks of silence on this topic, and lots of hard work, we just released the FastCGI Techical Preview for IIS 5.x / IIS 6 / IIS7! This preview provides a new FastCGI component for IIS aimed at hosting PHP applications with much improved performance over the CGI mode and stability unlike the ISAPI … [Read more…]

Dude, Sweet! New Error Page and FREB XSLs looks

IIS just got a lot cooler (looking): Check out the new styling XSL stylesheet for the FREB xml log files – http://blogs.iis.net/bills/archive/2006/10/19/Making-Failed-Request-Tracing-More-Approachable.aspx. FREB is a new IIS7 diagnostic feature that automatically collects detailed trace events for failed requests, and saves them as XML log files which can be visualized with the provided stylesheet. Just think … [Read more…]

Extending your IIS 7 server with .NET

I feel like I got off on the wrong foot in my blog coverage of IIS extensibility … I started spending a lot of time talking about building IIS7 server modules with the native API, but did not mention anything about the new .NET extensibility. This is strange for two reasons: I spent the majority … [Read more…]

Where did my IIS7 server go? Troubleshooting 503 "service unavailable" errors

In the previous post, I covered the “server not found” error that is a common and frustrating problem that may occur for a number of reasons after a configuration change, or when deploying a new server machine. Another common “what the hell just happened” error is the plain 503 “service available” error that looks like … [Read more…]

Where did my IIS7 server go? Troubleshooting "server not found" errors

Sometimes, after provisioning a new machine, or making some configuration changes, you may find that your IIS server has gone completely missing without so much as leaving you a note.  As you desperately try to bring up your site, your browser connection times out with “server not found” or, slightly better, you get the plain … [Read more…]

IIS7 modules vs. IIS6 ISAPI #9: Intuitive object model

This is the second post in the series on why IIS7 module development beats the pants off the ISAPI development for the previous version of IIS. Last time, we talked about the class-based encapsulation model for building IIS modules, and how it’s based on C++ classes with type-safe methods as opposed to ISAPI’s static C-style … [Read more…]

IIS7 modules vs. IIS6 ISAPI #10: C++ Class-based encapsulation model

For the first post in this series, lets start with the basics. ISAPI Extensions and Filters are implemented as global exported functions within the extension/filter DLL.  For example, an ISAPI Filter will always contain an exported HttpFilterProc function that gets invoked by the server for each request mapped to it:   DWORD WINAPI HttpFilterProc(          PHTTP_FILTER_CONTEXT pfc, … [Read more…]