Открытые ссылки через HttpHandler - PullRequest
0 голосов
/ 11 октября 2011

Пожалуйста, помогите с HttpHandler

Существует HttpHandler, который обрабатывает ссылки на mysite.ru.

Зарегистрировано в Web.Config следующим образом:

<configuration>
   <system.web>
     <httpHandlers>

       <add verb="*" path="mysite.ru" type="App_Code.SyncHttpHandler"/>

     </httpHandlers>
   </system.web>
</configuration>

Теперь через обработчик открываем только ссылки вида:

mysite.ru
mysite.ru/struct/
mysite.ru/articles/

Как заставить обработчик перехватить и обработать ссылки по форме:

mysite.ru / файлы / изображения / IMG.jpg
mysite.ru/files/scripts/script.js


Если я напишу, чтобы вы могли запускать любые ссылки, в том числе SyncHttpHandler / Google.ru. И мне нужно иметь возможность запускать только ссылки на определенный сайт.

<add verb="*" path="mysite.ru/*.*" type="App_Code.SyncHttpHandler"/> не работает

<add verb="*" path="*.*" type="App_Code.SyncHttpHandler"/> открыть любые ссылки

Ответы [ 2 ]

0 голосов
/ 11 октября 2011

Как правило, IIS обрабатывает все статические файлы своим собственным обработчиком статических файлов.Поэтому сначала необходимо настроить IIS для передачи всех файлов (расширений) по этому пути в среду выполнения ASP.NET.Точные шаги (хотя и аналогичные) будут зависеть от версии IIS - например, см. здесь для IIS 6.

Следующая часть будет обеспечивать, чтобы среда выполнения ASP.NET передавала все эти запросы вашемуобработчик.Поэтому я думаю, что ваш конфиг должен работать, но если это не так, попробуйте использовать подстановочные знаки.Например,

 <add verb="*" path="mysite.ru/*.*" type="App_Code.SyncHttpHandler"/>

или, возможно,

<location path="mysite.ru" >
 <system.web>
   <add verb="*" path="*.*" type="App_Code.SyncHttpHandler"/>
 </system.web>
</location>
0 голосов
/ 11 октября 2011
<httpHandlers>
    <add verb="*" path="*.js" validate="false" type="SyncHttpHandler" />
    <add verb="*" path="*.jpg" validate="false" type="SyncHttpHandler" />
</httpHandlers>

вы можете использовать это.

...