Vous pouvez le faire, mais pourquoi ne pas simplement créer un HttpModule et y gérer le routage ? C'est ainsi que fonctionnent la plupart des systèmes de réécriture d'URL (en fait, c'est également ainsi que fonctionne le routage MVC puisque global.asax n'est qu'un HttpModule pré-construit avec quelques extras).
Le gros problème avec la gestion du serveur que vous décrivez, c'est que vous n'en avez pas vraiment le contrôle et que c'est un mécanisme de piratage... je veux dire que vous prenez une fonction du serveur web qui a un but et une conception spécifiques et que vous lui donnez une signification et une fonction différentes... ce qui signifie que vous n'avez pas de gestion intégrée pour une erreur 404 réelle. De plus, le mécanisme que vous envisagez est plus difficile à adapter à votre objectif que les autres options disponibles.
À moins que vous n'ayez besoin de quelque chose de spécial pour le routage, vous devriez envisager d'utiliser un composant de routage existant tel que Mod-Rewrite ou l'un de la douzaine d'autres réécritures d'URL populaires qui ont été construites avant la mise en œuvre du moteur de routage MVC et qui fonctionnent bien dans les anciennes versions d'asp.net. Il existe également de nombreux tutoriels sur l'utilisation de HttpModules, de HttpHandlers et de diverses autres techniques de routage dans les environnements de formulaires Web asp.net.