Вы "можете" сделать это, но почему бы просто не создать HttpModule и обработать там маршрутизацию? Вот как работает большинство систем перезаписи URL (на самом деле, так же работает MVC-маршрутизация, так как global.asax - это просто сборочный HttpModule с несколькими дополнениями).
Главное, что вы полагаетесь на тот тип обработки сервера, который вы описываете, это то, что вы действительно не контролируете его, и это хакерский механизм ... я имею в виду, что вы берете на себя функцию веб-сервера это имеет определенное назначение и дизайн, а также накладывает на него другое значение и функцию ... что означает, что у вас теперь нет встроенной обработки для фактической ошибки 404. Кроме того, механизм, который вы рассматриваете, сложнее адаптировать к вашей цели, чем просто используя другие доступные вам варианты.
Если вам не нужно что-то особенное от маршрутизации, вам следует рассмотреть возможность использования существующего компонента маршрутизации, такого как Mod-Rewrite или одного из дюжины или около того других популярных перезаписчиков URL, которые были созданы до того, как механизм маршрутизации MVC был реализован, и отлично работали в старых версии asp.net. Существуют также многочисленные учебные пособия по использованию HttpModules, HttpHandlers и различным другим методам маршрутизации в средах веб-формы asp.net.