2011-10-11 3 views
0

도와주세요 HttpHandlerHttpHandler를 통한 링크 열기

mysite.ru에 대한 링크를 처리하는 HttpHandler가 있습니다.

의 Web.config에 등록을 다음과 같이

mysite.ru
mysite.ru/struct/
mysite.ru :

<configuration> 
    <system.web> 
    <httpHandlers> 

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

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

이제 처리기를 통해 형태의 참조를 엽니 다/articles/

양식의 링크에서 처리기를 가로 채고 처리하는 방법 :

mysite.ru/files/images/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"/>은 당신이 사용할 수있는 링크

답변

0
<httpHandlers> 
    <add verb="*" path="*.js" validate="false" type="SyncHttpHandler" /> 
    <add verb="*" path="*.jpg" validate="false" type="SyncHttpHandler" /> 
</httpHandlers> 

을 열 작동하지 않습니다.

0

일반적으로 IIS는 모든 정적 파일을 자체 정적 파일 처리기로 처리합니다. 따라서 먼저이 경로 아래의 모든 파일 (확장명)을 ASP.NET 런타임에 전달하도록 IIS를 구성해야합니다. 정확한 단계 (비슷 함)는 IIS 버전에 따라 다릅니다. 예를 들어 IIS 6의 경우 here을 참조하십시오.

다음 부분은 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>