#asp.net-mvc #iis #asp.net-mvc-routing
#asp.net-mvc #iis #asp.net-mvc-routing
Вопрос:
У меня проблема, из-за которой я отправляю адрес электронной почты для проверки (убедитесь, что он еще не использовался и является действительным адресом электронной почты). Теперь он отлично работал на Cassini, но теперь, когда я использую IIS7, он отказывается отображать маршрут.
URL-адрес будет выглядеть следующим образом:
http://localhost:23456/is/email/taken/test@test.com
Я включил отладчик маршрута, чтобы убедиться, что с маршрутом нет проблем, и если я удалю бит «.com» в конце, он работает нормально, и маршрут совпадает (хотя это недопустимый адрес электронной почты, поэтому он недействителен). Однако, если я оставлю .com или любое другое используемое расширение, отладчик маршрутов даже не отображается, что заставляет меня думать, что IIS даже не направляет трафик на ASP и ищет статический файл.
У кого-нибудь еще было это раньше? и если да, то как вы ее решаете?
Комментарии:
1. Я использую IIS Express, и, похоже, он работает нормально. Вы также пробовали использовать IIS Express?
2. Я не получаю сообщение об ошибке, просто пустая страница, проверил наличие журналов IIS, но не смог их найти. Не пробовал IIS Express
Ответ №1:
Хорошо, IIS может обрабатывать это как файл с расширением, которое заблокировано или сопоставлено обработчику, который не является MVC. Сначала проверяется, есть ли физический файл на диске, поэтому некоторая обработка URL-адреса выполняется не только механизмом MVC. Есть ли у вас конфигурации, которые защищают / отклоняют некоторые расширения?
Комментарии:
1. Я не устанавливал никаких пользовательских настроек в IIS, это по умолчанию, однако web.config для этого проекта загружает пользовательский модуль, который обрабатывает запросы на основе CORS, но даже в этом случае все, что он делает, это просто возвращает некоторые дополнительные заголовки.