Stopping hot-linking with IIS and ASP.NET

Many web sites suffer from others directly linking to their image, video and other content. This practice is called often called leeching, hot-linking, or inline-linking and causes wasted bandwidth and increased server load to the victim web site. Last weekend, I wrote a little ASP.NET module that prevents hot linking. It can be used on … [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…]

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…]

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…]

10 reasons why server development is better with IIS7

**********UPDATE: Here are the currently published entries in this series that highlight the improvements in the new IIS server programming model: Reason #10 – C++ class-based programming model Reason #9  – Intuitive server object modelReason #8  – Improved memory managementReason #7 – Managing request stateReason #6 – Sending http responses (coming up)…********** As you already know (if you … [Read more…]