2011-01-17 2 views
0

우리는 주로 SharePoint를 기반으로 최근에 출시 한 웹 사이트를 운영하고 있습니다. 일부 사이트는 바로 XML을 반환해야했습니다. 프로젝트 컨설턴트는 xml을 page_load 메소드에서 응답 객체를 작성하는 .aspx 페이지로 반환합니다..aspx로 끝나는 링크를 .ashx로 리디렉션 할 수 있습니까?

잠깐 동안이 연구를 해본 결과, 우리가 필요로하지 않는 ASPX 페이지의 모든 추가 이벤트를 호출하기 때문에 이것이 잘못된 방법이라고 생각합니다.

여기 내 질문이 있습니다. httphandler와 .ashx 링크로 이러한 기능을 다시 만들고 싶습니다. 그러나, .aspx로 끝나는 원본 링크와 그 매개 변수를 가져 와서 반환 할 XML 유형을 결정할 수 있기를 원합니다.

.ashx 링크로 .aspx 끝 링크를 다시 쓰거나 리디렉션 할 수 있습니까? 그렇지 않으면 IIS 서버가 모든 .aspx를 잘못 해석하게됩니다.

답변

0

아마 너는 운이 좋을 것 같아 ...

우리는 비슷한 일을했다. 전자 상거래 웹 앱은 JPG, PNG 및 GIF 파일을 제품 이미지로만 허용하지만 모든 제품에 대해 모든 이미지가 동적으로 생성되기를 바랍니다.

그래서 우리는 JPG, PNG 및 GIF 파일을 처리기로 다시 매핑했습니다.

ALL JPG, PNG 및 GIF 파일은 정적 파일에 비효율적 일 수 있으므로 매핑하지 않아야합니다. 그래서 우리는 특정 파일 만 처리했습니다.

다음은 수행 방법입니다.

모든 ASPX 파일이 다른 파일이 공유하지 않는 비슷한 파일 사양을 따르는 경우 web.config<httpHandlers> 아래에 추가하십시오. 그렇지 않은 모든 공유 파일 스펙을 할 경우

<add path="filespec*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/> 

, 당신의 Web.config에 그들에게 하나씩을 추가해야합니다 :

<add path="oldaspx1.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/> 
<add path="oldaspx2*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/> 
<add path="oldaspx3*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/> 

이 있는지 여부이 usuable하려면 요청이 'oldaspx1.aspx'이 처리 얻을 것이다위한 오면 당신이 IIS7 통합 파이프 라인에서 실행되고, 당신은 또한 매우 EF (

그런 다음 <handlers> 요소에 유사한 라인을 추가 할 수 있습니다 ficiently, 페이지 라이프 사이클없이 시작) 사용자 지정 처리기에 의해.

문제가 해결되면 왼쪽에 체크 표시가있는 답을 수락으로 표시하십시오.

관련 문제