Как сопоставить корневой URL-адрес в приложении ASP.NET? - PullRequest
4 голосов
/ 09 мая 2009

В моем файле Web.config есть следующее:

<httpHandlers>
    . . .
    <add verb="GET,HEAD" path="/" type="Vis.Web.BootHandler, Vis" />
</httpHandlers>

Этот обработчик HTTP возвращает статическую HTML-страницу, просто чтобы посмотреть, работает ли она.

Теперь, когда я запускаю свое веб-приложение (у которого нет Default.aspx или лайков), вместо этого я получаю список каталогов по умолчанию. Когда я изменяю путь на "/foo", он отлично работает.

Я попробовал "" для пути, он также выдает список каталогов. То же самое с "/foo" и последующим добавлением сопоставления URL для "", "~", "~/" и "/"

Как мне обработать веб-корень / переопределить список каталогов с помощью обработчика HTTP?

Ответы [ 2 ]

2 голосов
/ 09 мая 2009

ОБНОВЛЕНО: По поводу комментария Это невозможно сделать на сервере разработки, так как для этого требуется функция IIS.

ОРИГИНАЛ: Вам необходимо добавить сопоставление приложения с подстановочными знаками в DLL-библиотеку asp.net, чтобы все запросы (даже для каталогов) выполнялись через среду выполнения .net и, следовательно, ваш обработчик HTTP.

Выезд http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx

для получения дополнительной информации

0 голосов
/ 09 мая 2009

В дополнение к тому, что сказал @Greg B, вам нужно добавить фиктивную страницу default.aspx и зарегистрировать свой обработчик, используя / * путь:

<httpHandlers>
    . . .
    <add verb="GET,HEAD" path="/*" type="Vis.Web.BootHandler, Vis" />
</httpHandlers>
...