Да, это как-то связано с IIS.
Если вы используете IIS7, есть функция, называемая «Интегрированный конвейер», которая позволяет сайту IIS передавать обработку всех входящих файлов типа .net, будь то .aspx или нет. Это особенно полезно для защиты ресурсов не aspx. Чтобы по-прежнему обслуживать статические файловые ресурсы «из коробки», среда выполнения .net сначала проверяет наличие статического файла, если по запрошенному пути его нет, он будет искать обработчик.
Если вы используете IIS6 (или более раннюю версию) или IIS7 в неинтегрированном конвейерном режиме (классический режим), вы все равно можете перехватывать запросы для других расширений, и вам придется настроить IIS для отправки запросов для файлов этих типов. сеть. Это называется «сопоставлением расширений приложений».
(P.S. Я действительно пытался получить несколько хороших ссылок для этого ответа, но вычеркнул немного пробела. Попробуйте поискать "Integrated Pipeline" и "mapping extension application").