Как найти расположение файлов .ashx на сервере - PullRequest
2 голосов
/ 07 февраля 2012

Предыстория: Мой сотрудник на моей работе, не связанной с программированием, знает, что я студент бакалавриата CS с некоторым опытом в веб-разработке. У него разорваны связи с предыдущим веб-разработчиком, которого он нанял после неудачного опыта, и он платит мне, чтобы я внес несколько изменений в сайт. Одной из этих задач является создание новой формы на сайте, которая ведет себя подобно форме, которая уже существует, с некоторыми изменениями. Моим главным препятствием является то, что сайт был создан с использованием ASP.NET, который я никогда раньше не использовал, но после прочтения некоторых руководств W3 я смог понять существующую форму и структуру ее представления, и я довольно уверен в моей способности дублировать его.

Проблема: Есть важный вызов функции, который мне нужен для доступа и редактирования, который происходит в файле .ashx, который я не могу найти на сервере. Файл упоминается как находящийся в ~ / ajaxpro / Business, App_Code.ashx в заголовках страниц .aspx, и я могу перейти на эту страницу в своем браузере, но на сервере нет фактической папки / ajaxpro /. Из того, что я могу почерпнуть из поисков в Google, я думаю, это может быть связано с этим кодом в Web.config:

<location path="ajaxpro">
    <system.web>
      <httpHandlers>
        <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2" />
      </httpHandlers>
    </system.web>
</location>

Но я просмотрел все остальные папки на сервере и вообще не могу найти никаких файлов .ashx. На сервере есть папка Business.cs и папка App_Code, но я не смог найти какой-либо код, относящийся к тому, что отображается на странице ~ / ajaxpro / Business, App_Code.ashx. Не уверен, является ли это частью моей наивности .NET, или как, но я хотел бы знать, возможно ли найти и получить доступ к этим файлам.

Вопрос: Могу ли я найти этот файл .ashx, чтобы я мог его отредактировать, и если да, то как бы я хотел найти его фактическое местоположение?

1 Ответ

2 голосов
/ 07 февраля 2012

Файл ASHX фактически не существует в файловой системе.

В разделе конфигурации, который вы перечислили, IIS обрабатывает любой запрос на расширение * .ashx в каталоге ajaxpro с использованием сборки AjaxPro2.

В основном сборка Ajaxpro2 содержит обработчик, который решает, что ему нужно выводить, в случае выше фабричного класса AjaxHandlerFactory будет обрабатывать все ответы.

Краткий ответ: вы не можете редактировать вывод для файла ASHX без доступа к коду сборки AjaxPro2.

...