I spent yesterday trying to get an HttpHandler working, so I could programmatically handle requests for and .rdf files, and distribute
nice data based on what came in. So, I follow the first step, which is google for a tutorial that does exactly what I want, and found
this simple example on
Registering HTTP Handlers. It's pretty bare
bones, but told me what I needed to know. Mostly.
Putting together the stub .NET class to do the handling and editing the
web.config were extremely simple to do, taking maybe 10 minutes, so now all I had
to do was configure IIS properly. Thats where I went wrong. First off, I'm running the workstation edition of IIS, which means the
administration tool is crippled, removing many functions. These functions aren't removed from the server, but the "OK" buttons in the GUI
are greyed out, effectively blocking me. Luckily, Microsoft released a handy program called
MetaEdit,
which allows you to edit the IIS configuration (the metabase) like you would the Registry. Unfortunately, the IIS metabase is a complete mess.
Again, google comes to my rescue, by finding some random guy's blog about
IIS Application Mappings & ScriptMaps.
His short amusing post pointed me in the right direction, and after figuring out the screwy UI to add to the list of application mappings
(add a blank entry to the list, then edit the new entry), all .rdf files were being handled by aspnet_isapi.dll. So now IIS is set up to map
it right, the
web.config is set up right, but it just ain't working.
Today I came back to it fresh, and looked at my new mapping in the "Application Mappings" dialog in IIS. Luckily the interface allows me to
edit the mappings, so I did so, and discovered the crucial "Check that file exists" dialog. After unchecking that, all is well, and I can
start the real work. Hooray for obfuscated configuration and swiss-cheese permission schemes!