2009-08-16 2 views

답변

6

인증, 감사 또는 URL 다시 쓰기에 httpmodules를 사용할 수 있습니다. 모든 요청은 먼저 모든 모듈을 통과하므로 httphandler가 처리하기 전에 특정 응용 프로그램 코드 이전에 실행하려는 코드를 적용 할 수 있습니다.

asp.net 엔진에 의존하고 싶지 않으면 httphandler를 사용하십시오. 예를 들어 전통적인 asp.net 페이지에 의존하지 않는 AJAX, XML 및 XSLT를 기반으로하는 자체 렌더링 메커니즘을 작성할 수 있습니다.

3

HttpModules 및 HttpHandlers는 동작을 완전히 변경하거나 문서에 사전 처리 또는 사후 처리를 추가하여 IIS의 기본 처리를 변경하려는 경우에 유용합니다.

HttpModule에 대한 실용적인 응용 프로그램 중 하나는 동적 축소판 만들기입니다. 모든 이미지 요청을 처리하는 HttpModule을 작성했습니다. 요청에 "? thumb"이라는 검색어 문자열이 포함 된 경우 원래 이미지를 게재하는 대신 미리보기 이미지를 동적으로 생성합니다.

나는 또한 HttpModules이 aspx 페이지 출력과 URL 재 작성에서 주석과 공백을 제거하는 데 사용되는 것을 보아왔다.

4

ASPX Page_Load 이벤트에 코드를 작성하여 응답에 뭔가를 내 보낸 다음 Response.End를 호출 했습니까? 그게 가장 HttpHandler (ashx)로 작성된 가능성이 높습니다.

+0

+1 예 전 며칠 전부터했습니다 :) –

2

HttpHandlers는 특정 파일 형식 및 기타 리소스에 대한 요청을 다시 라우팅하는 데 유용합니다. 예를 들어 ASP.NET이 FormsAuthentication을 통해 보호하지 않는 파일 형식에 대한 들어오는 요청을 처리해야하는 경우 실제로 특정 파일 형식인지 여부를 특정 디렉터리에 확인하고 사용자를 승인되지 않은 경우 다른 페이지.

HttpModules는 리소스 독립적 인 방식으로 앱에 대한 특정 처리를 수행 할 수 있습니다. 더 많은 기술적 인 설명은 여기에서 찾을 수 있습니다. http://www.15seconds.com/issue/020417.htm

또한 각각의 요청에 오버 헤드가 추가되므로 프로세스 집약적 인 작업에 이러한 기술을 사용하지 않아야합니다.

2

처리기와 모듈은 모두 ASP.NET 파이프 라인 모델의 컨텍스트에서 실제로 이해할 수 있으며 만드는 사용자 지정 처리기/모듈이 해당 모델에 적합 할 수 있습니다.

좋은 리소스의 커플 herehere.

다른 사람이 모듈이 특정 이벤트 지점에서 동작을 만드는 데 사용할 수 있습니다 언급 한 것처럼 (다른 일반적인 사용은 글로벌 예외 처리가), 핸들러 (단지 영리한 이름이 아니다) 경우는 ASP를를 처리하는 엔드 포인트 요청을 만들 수 있습니다. net page 인스턴스 (궁극적으로 무겁게 감싸 인 핸들러)는 불필요하게 무겁거나 잘못 될 수 있습니다. 개인적으로 나는 HTML을 출력하지 않는 무언가를 만들 때 언제든지 사용합니다. HTML을 사용하면 웹 사이트가 아닌 웹 앱을 더 많이 개발할 수 있습니다.

3

나는 사용법을 인용 할 것이고 사람들은 이미 좋은 정의를 주었다.

HTTP 처리기
영상은 당신이 엔진 크롤러를 검색 할 웹 사이트의 사이트 맵을 렌더링 할 것이 아니라 파일을 팝업보다 (저장 대화 상자에서 파일이 ASP.NET/IIS이 기본 핸들러가없는 경우 대화 상자가 나타납니다 저장 요청 된 파일 유형 (예 : txt)). 나는 (사이트 맵 정보를 DB에서 가져 오는) 즉시 사이트 맵 파일을 생성하기 위해 HTTP 처리기를 작성했습니다.

관련 문제