2011-11-28 5 views

답변

1

저는 여러분이 원하는 것을 할 수있는 공개적인 방법을 알지 못합니다.

원하는 코드가 HttpContext.Current.ApplicationInstance.GetHandlerMapping(), .MapHttpHandler() 또는 .MapIntegratedHttpHandler()이지만 개인 또는 내부 메서드라고 생각합니다. 그러나 리플렉션을 사용하여 호출 할 수 있어야합니다.

대안으로 몇 가지 시행 착오 유형 테스트가 있습니다 (예상되는 핸들러로 라우트되어야하는 대상을 요청하고 HttpModule의 MapRequestHandler 이벤트와 같이 여러 위치에서 어떤 일이 발생하는지 확인하십시오. 하지만 Application_Start가 너무 빠르다고 생각합니다

+0

그래, 비행하는 유일한 방법입니다 jep, 그 일에 대한 요청을 해고하십시오. –

0

WebConfigurationManager.OpenWebConfiguration 방법을 사용하여 web.config 파일을 읽으십시오. ASP.NET Configuration File Hierarchy and Inheritance으로 인해 machine.config에 추가 된 모든 구성 섹션을 웹 응용 프로그램에서 사용할 수 있으므로 로컬 web.config를 읽어야합니다.

Configuration config = WebConfigurationManager.OpenWebConfiguration("~/web.config"); 
HttpHandlersSection section = (HttpHandlersSection)config.GetSection("system.web/httpHandlers"); 

GridView1.DataSource = section.Handlers; 
GridView1.DataBind(); 
+1

핸들러는 응용 프로그램 자체의 web.config 또는 다른 가상 상위 디렉토리 또는 machine.config 중 하나에서 선언 할 수 있습니다 –

관련 문제