사용자 정의 HTTP 핸들 러 등록

3117 단어 handler
프로젝트 는 highcharts.js 를 사용 하여 그림 을 그 렸 습 니 다.로 컬 내 보 내 려 고 했 습 니 다.그래서 github 에서 이 프로젝트 를 찾 았 습 니 다ASP.NET Highcharts export module물론 제 가 말 한 것 은 아주 오래 전 이 었 습 니 다.MVC 3 프로젝트 를 할 때 모든 것 이 순 조 롭 고 몇 개의 dll 을 가 져 왔 습 니 다.웹 config 파일 을 수정 하여 자신의 의 미 를 가 진 http handler(Highcharts Export.axd 로 접근)를 지원 하고 즉시 내 보 냈 습 니 다.
이번에 하 이 카 트 를 다시 사 용 했 습 니 다.똑 같이 내 보 내야 하 는데 결 과 는 죽어도 내 보 내지 못 하고 404 오류 가 발생 했 습 니 다.뮤 직 비디오 c4+NF 4.5 에 불과 합 니 다.상기 항목 은 웹.config 의 예제 파일 두 개 를 제공 합 니 다.제 가 일일이 테스트 하 는 데 실 패 했 습 니 다.공식 적 으로 요구 하 는 것 은 웹.config 의 system.web 노드 에 다음 과 같은 노드 를 등록 하 는 것 입 니 다.
<httpHandlers>

      <add verb="POST"

           path="HighchartsExport.axd"

           type="Tek4.Highcharts.Exporting.HttpHandler, Tek4.Highcharts.Exporting"/>

</httpHandlers>

아예 문 서 를 찾 아 보 았 습 니 다.http handler 를 사용자 정의 로 등록 하 는 방식 은 과연 이 프로젝트 작가 가 소개 한 것 과 다 릅 니 다.수정 후 성공 하 였 습 니 다.다만 같은 iis 환경 에서 오래된 뮤 직 비디오 c3 프로젝트 가 성공 하 였 습 니 다.예 를 들 어 asp.net 사이트 도 성공 하 였 기 때문에 누 나 를 탈 수 없습니다.
공식 문서 링크
만병통치약 을 준 것 이 아니 라 세 가지 상황(여섯 가지 상황 으로 나 뉘 어 각각 독립 dll 과 app 에 대응 해 야 합 니 다.code 의 두 가지 유형 은 app 에 있 습 니 다.code 에 있 는 클래스 는 등록 할 때 네 임 스페이스 를 쓸 필요 가 없습니다.여기 서 소개 하지 않 고 문 서 를 직접 보 세 요):IIS 6.0,IIS 7.0 고전 모드,그리고 IIS 7.0 통합 모드
IIS 6 에서 상기 코드 에 따라 설정 하면 됩 니 다.
IIS 7 의 고전 모드 에서 도 상기 코드 에 따라 설정 해 야 하지만 아직 부족 합 니 다.configuration 의 루트 노드 에서 system.webServer 노드 를 계속 설정 해 야 합 니 다.
<system.webServer>

<add name=SampleHandler" verb="*" path="SampleHandler.new" 

  Modules="IsapiModule" 

  scriptProcessor="FrameworkPath\aspnet_isapi.dll"

  resourceType="File" />

</system.webServer>

그 중에서 Framework Path 는%windir%\Microsoft.NET\\Framework 64\\v 4.0.30319 와%windir%\Microsoft.NET\Framework 32\v 4.0.30319 두 가지 수치 가 있 는데 사실은 당신 의 Aspnet 입 니 다.isapi.dll 이 있 는 폴 더 입 니 다.
통합 모드 에서 상기 1 절 을 설정 하지 않 고 system.webServer 를 직접 설정 하면 됩 니 다.또한 아 프 게 aspnet 을 찾 을 필요 도 없습니다.isapi.dll 파일 입 니 다.resourceType 은 file 이 아니 기 때 문 입 니 다.
<system.webServer>

<handlers>

  <add name="SampleHandler" verb="*" 

	path="SampleHandler.new" 

	type="SampleHandler, SampleHandlerAssembly" 

	resourceType="Unspecified" />

</handlers>

</system.webServer>

내 가 한 것 은 마지막 변경,성공 이다.
동시에 작은 예 를 들 어 자신 이 appcode 에 httphandler 라 고 쓰 여 있 습 니 다.몇 글 자 를 출력 했 습 니 다.마지막 설정 방식(type 에 네 임 스페이스 를 쓸 필요 가 없습니다.app 이기 때 문 입 니 다.code 에 전체 이름 을 쓰 면 됩 니 다)정상 출력 입 니 다.이 문 제 는 이 프로젝트 작성 자의 예제 항목 에 대한 설명 이 상세 하지 않 아서 발생 한 것 임 을 알 수 있 습 니 다.사용자 정의 handler 를 등록 하 는 방법 을 찾 으 면 사용 할 수 있 습 니 다.
참고 로 stackoverflow 의 한 마디 를 드 립 니 다.The<system.web>section applies to IIS 6 and below whereas<system.webServer>IIS 7 and above 에 적 용 됩 니 다.

좋은 웹페이지 즐겨찾기