내 프로젝트에 제네릭 처리기 (ashx)를 추가했지만 web.config에 등록 된 것을 볼 수없고 작동합니다. 어째서? 비주얼 스튜디오가 web.config의 http 핸들러로 추가해서는 안될까요? 또는 미리 정의 된 핸들러를 대체하지 않기 때문에 그 핸들을 특별히 호출하고 있습니다.Web.Config의 일반 핸들러 등록
답변
일반적으로 Asp.net의 제네릭 처리기는 Asp.net 프로세스가 필요없는 일부 축소판 그림을 만드는 것처럼 작은 작업을 지원하기 위해 설계되었습니다. 따라서 "www.somesite.com/Thumbnail.ashx?filename=abc.jpg"와 같은 간단한 asp.net 페이지를 호출하는 것처럼 호출 할 수 있습니다.
그런데이 URL을 다음 URL과 같은 URL로 매핑하려는 경우.
- www.somesite.com/Thumbnail/abc.jpg
- www.somesite.com/Thumbnail/dog.jpg
- www.somesite.com/Thumbnail/cat.jpg
매핑을 위해 웹 양식 라우팅 (System.Routing 기반)과 같은 URL 라우팅을 사용해야합니다. 따라서 위의 예제처럼 다음 코드를 사용할 수 있습니다.
public static void RegisterRoutes(RouteCollection routes)
{
routes.Map("Thumbnail", "Thumbnail/{filename}").To("~/Thumbnail.ashx");
}
웹 양식 매핑에 대한 자세한 내용은 Phil Haack이 Using Routing With Web Forms을 참조하십시오.
그러나 JavaScript 처리기와 같은 응용 프로그램의 파일 형식을 지정하는 일부 처리기를 처리 할 수있는 HTTP 처리기를 만들어야하는 경우. IHttpHandler에서 상속받은 클래스를 만들어야합니다. 그런 다음이 핸들러에서 처리하는 파일 유형을 지정하기 위해 web.config 파일에 등록해야합니다. HTTP Handlers and HTTP Modules in ASP.NET Mansoor Ahmed Siddiqui By
PS로 보시기 바랍니다. web.config 파일에 등록하기 위해 제네릭 처리기를 사용하는 경우 SomeHandler.ashx 및 SomeHandler.ashx.cs 인 두 개의 파일을 만들어야합니다. 그것은 아주 간단한 파일 핸들러를 만드는 것을 복잡하게 만든다. 반면에 동일한 작업을 수행하기 위해 IHttpHandler 클래스에서 상속 한 하나의 cs 파일 만 만들 수 있습니다.
처리기는 탐색 할 수있는 또 다른 형식의 파일입니다. HTTP 모듈은 web.config에 등록되어야하지만 반드시 핸들러는 아닙니다.
난 당신이 사이트에 HTTP 처리기
HTTP 모듈 대신 HTTP 모듈의 차단 모든 HTTP 요청을 생각 될 수 있으며 선택적으로 HTTP 파이프 라인에서 일부 작업을 수행 할 수 있습니다 또는 생각 전화를 완전히 차단하십시오. 모듈은 web.config에 등록되어야합니다
HTTPHandler은 조금 더 가볍고 수행하는 모든 페이지 이벤트를 처리하지 않는다는 점을 제외하면 ASPX 페이지와 거의 동일하게 작동합니다 이미지 처리기와 같은 것을 필요로하지 않습니다.
멋진 답변 주셔서 감사합니다.하지만 사실 httpttodler와 Httphandler를 혼동하지 않았습니다. 나는 왜 내가 httphandler를 등록하는지 묻고 있었다. – Tarik
- 1. 일반 핸들러 + UriBuilder
- 2. asp 등록 : 버튼 클릭 이벤트 핸들러
- 3. Rails3 : scss 템플릿 핸들러 등록 방법
- 4. OData의 일반 등록 정보를 연기하십시오.
- 5. Agatha 용 단일 일반 핸들러 만들기
- 6. Ajax asp.net - 일반 핸들러 또는 웹 서비스?
- 7. 성 윈저 : 비 일반 인터페이스와 일반 클래스를 등록
- 8. StructureMap 생성자를 사용한 일반 클래스 등록
- 9. 중첩 된 링크 버튼에 대한 VB.Net 이벤트 핸들러 등록
- 10. 핸들러
- 11. HttpContext에서 Web.Config의 HttpHandlers를 가져 오십시오.
- 12. 은 Web.config의
- 13. Web.config의 어셈블리
- 14. WebService에는 Web.config의
- 15. C#에서 페이지로드시 일반 핸들러 호출 (자바 스크립트 사용하지 않음)
- 16. WPF 두 명령 핸들러, 한 명령
- 17. 글로벌 PreviewKeyDown 핸들러 대 로컬 PreviewKeyDown 핸들러
- 18. Web.config의 루트 디렉토리에 Web.config의 존재와 함께 작동하지 않습니다
- 19. web.config의 권한 정보 액세스
- 20. ASP.net에서 web.config의 설정을 외부화합니다.
- 21. web.config의 요소를 반복합니다.
- 22. Setting.settings와 web.config의 차이점은 무엇입니까?
- 23. Web.config의 사용자 지정 섹션
- 24. web.config의 네트워크 태그는 무엇입니까?
- 25. web.config의 특수 문자
- 26. PHP의 ASP.NET과 web.config의 비교
- 27. Web.config의 메일 설정
- 28. web.config의 System.Net defaultProxy 섹션
- 29. web.config의 양식 인증
- 30. web.config의 SQL providerName
감사합니다. 이제 의미가 있습니다. – Tarik
좋은 explaination 1 + ..... –