Как зарегистрировать HttpHandlers в интегрированном режиме IIS 7.0 с использованием файлов .ashx

Согласно документам понятно, как зарегистрировать HttpHandlers в интегрированном режиме IIS 7.0, если вы реализуете IHttpHandler внутри dll и помещаете его в папку Bin веб-приложения. Затем добавление строки в web.config этого приложения завершает процесс регистрации. Существует тип файла .ASHX, который реализует IHttpHandler по умолчанию. Поскольку этот файл не скомпилирован в dll в папке Bin (и я не нашел, куда он девается после компиляции), любая попытка добавить для него правильный type в web.config у меня не удалась. web.config:

<handlers>
   <add name="MyHandler" path="*" verb="*" type="MyHandler, Myhandler"resourceType="unspecified" precondition"integratedmode" />
</handlers>

Вопрос: как зарегистрировать HttpHandlers, записанное в .ASHX файлах?


person Xaqron    schedule 31.10.2010    source источник


Ответы (1)


Вы не регистрируетесь, вы просто называете свой ashx-файл как обычный aspx, asmx или html файл. http://yourweb.com/yourhandler.ashx :)

person Onkelborg    schedule 31.10.2010
comment
Я хочу перехватывать все вызовы виртуального каталога без чего-либо вроде адреса страницы в URL-адресе, например: localhost/myVirtualDirectory вместо localhost/myVirtualDirectory/myHandler.ashx, то вы говорите, что я не могу сделать это с файлом ashx и должен зарегистрировать dll? - person Xaqron; 31.10.2010
comment
@Xaqron: Если это то, что вы хотите, то вы ищете переписывание URL :) - person Onkelborg; 01.11.2010
comment
Я приму все в URL, это отличается от перезаписи URL - person Xaqron; 01.11.2010
comment
Хм, я не вижу причин, почему вы не можете перенаправить все на свой обработчик? - person Onkelborg; 01.11.2010