Как сопоставить корневой URL-адрес в приложении ASP.NET ?
-
20-08-2019 - |
Вопрос
У меня есть следующее в моем Web.config:
<httpHandlers>
. . .
<add verb="GET,HEAD" path="/" type="Vis.Web.BootHandler, Vis" />
</httpHandlers>
Этот HTTP-обработчик возвращает статическую HTML-страницу, просто чтобы посмотреть, работает ли она.
Теперь, когда я запускаю свое веб-приложение (у которого нет Default.aspx или подобных) Вместо этого я получаю список каталогов по умолчанию.Когда я меняю путь на "/foo"
это работает совершенно нормально.
Я пытался ""
что касается пути, то он также выдает список каталогов.То же самое, имея это как "/foo"
а затем добавляем сопоставление URL-адресов для ""
, "~"
, "~/"
и "/"
Как мне обработать веб-корень / переопределить список каталогов с помощью HTTP-обработчика?
Решение
ОБНОВЛЕННЫЙ:Что касается комментария Это не может быть сделано на сервере разработки, так как для этого требуется функция IIS.
ОРИГИНАЛ: Вам нужно добавить сопоставление приложений с шаблоном в asp.net DLL, чтобы все запросы (даже к каталогам) выполнялись через среду выполнения .net и, следовательно, ваш HTTP-обработчик.
для получения дополнительной информации
Другие советы
В дополнение к тому, что сказал @Greg B, вам нужно будет добавить фиктивную страницу default.aspx и зарегистрировать свой обработчик, используя /* path:
<httpHandlers>
. . .
<add verb="GET,HEAD" path="/*" type="Vis.Web.BootHandler, Vis" />
</httpHandlers>