Напишите HTTP Handler, используя ASP.NET. Так вы сможете «ловить» все запросы и определять, что с ними делать. HTTP Handler работают почти как ISAPI Extension, поэтому довольно быстры. У вас также остается полный контроль над соединением.
Первая же ссылка из Гугла:
www.15seconds.com/issue/020417.htm
Разумеется, MSDN даст больше информации.