Почему технически ScrewTurn использует .ashx для создания вики-страницы?

Почему ScrewTurn Wiki использует тип ashx для создания вики-страницы? Не опасно ли создавать страницу asp.net на лету?

обновление: они не создали никаких физических страниц. Но как они это делают, потому что URL-адрес на самом деле какой-то-newpage.ashx?


person user310291    schedule 18.04.2011    source источник


Ответы (2)


Он действительно создает страницы на файле на диске?

Ashx — это обработчик. Он возвращает вывод, как он хочет. У вас может быть CMS, которая раскрывает свое дерево через промежуточный файл .ashx (/cms.ashx/some/page), но страницы НИКОГДА НЕ СУЩЕСТВУЮТ.

person TomTom    schedule 18.04.2011
comment
Хм, я проверил, и правда, они не создали никаких физических страниц. Но как они это делают, потому что URL-адрес на самом деле какой-то-newpage.ashx? - person user310291; 18.04.2011
comment
Они перенаправляют все запросы в ASP.NET и обрабатывают их в коде. Тривиально сделать. Сложнее настроить на IIS 6 (поскольку IIS 6 при стандартной настройке ТОЛЬКО перенаправляет на .NET, когда находит ФАЙЛ), но все, что выше, это стандартная настройка web.config. - person TomTom; 18.04.2011
comment
на самом деле есть настройка Wilcard, которую вы можете использовать. Но тогда вы все маршрутизируете через ASP.NET Isapi. - person Mikael Östberg; 18.04.2011
comment
Да, но для этого требуется изменить метабазу, которая в IIS 6 раз НЕ была разрешена хостерами. Панели управления точно нет. Итак, это был как минимум (!) инцидент со службой поддержки, на который в основном ответили отрицательно. Любой здравомыслящий разработчик в то время попытался бы программировать вокруг этого. С IIS7 это изменилось - теперь он контролируется web.config. - person TomTom; 18.04.2011

Я думаю, что он использует .ashx для 1.) запускает использование фильтра isapi ASP.NET и 2.) сигнализирует о том, что запросы не сопоставляются с какими-либо физическими файлами, а URL-адреса сопоставляются с логическими страницами в механизме Wiki.

И я не думаю, что опасно создавать ответы страницы ASP.NET на лету, что они и делают. На самом деле это отличный способ позволить вам, пользователю системы, выстроить иерархию веб-сайта.

person Mikael Östberg    schedule 18.04.2011