2011-01-28 14 views
2

내 웹 사이트의 새 페이지로 내 페이지로 요청을 전달하기위한 작은 웹 응용 프로그램을 작성하려하고 있습니다. 내가의 Web.config에 등록하고 핸들러를 테스트에 문제가있다어떻게 내 asp.net을 테스트합니까 httphandler

public class RedirectHandler : IHttpHandler 
    { 
     public bool IsReusable 
     { 
      get { return true; } 
     } 

     public void ProcessRequest(HttpContext context) 
     { 
      context.Response.Write(context.Request.Path); 
     } 
    } 

: 요청하는 페이지를 인쇄 할 IHttpHandler를하고 processRequest 메소드에 난 간단한 희망을 구현 우선 메신저, 내 콘데은 다음과 같습니다 . 나는 비주얼 스튜디오를 통해 시작, 그것은 단지 내 파일을 나열하고 있습니다. 그런 다음 브라우저에서 파일을 요청하고 브라우저에서 이름을 볼 것으로 예상하지만 페이지가 발견되지 않는 예외가 발생합니다. 나는 다른 모든 .aspx 페이지를 삭제했습니다. 그래서 유일한 "페이지"는 제가 가지고있는 http 핸들러입니다. 누구든지 올바른 방향으로 나를 가리킬 수 있을까요? 7 (의 통합 모드를 IIS 실행중인 경우

편집 구성 설정 (의 Web.config)을 의 system.webServer/핸들러 구성 요소에

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    <handlers> 
     <add name="RedirectHandler" resourceType="Unspecified" verb="*" path="*.html" type="Jeeves.RedirectHandler"/> 
    </handlers> 
    </system.webServer> 
+0

후 사용자의 설정 설정 : (당신이 IIS7이있는 경우) 어느 또는 대신 system.web/httpHandlers 요소를 사용하여 프로젝트의 속성의 섹션에 사용 지역 IIS 웹 서버를 지정 – NotMe

+0

이벤트 로그에 오류가 기록되는 것을 보시겠습니까? 심지어 브레이크 포인트를 때리는거야? –

+0

ProcessRequest 내에서 내 브레이크 포인트를 치지 않는 것은 실행되지 않는 것입니다. 디버그에서 프로젝트를 시작했는데 결과적으로 모든 파일의 디렉토리 목록이 만들어졌습니다. 내가 가진 유일한 파일은 RedirectHandler.cs이기 때문에 어떤 파일도 "실행할"수 없다. –

답변

0

의 항목에만 효과적이다).

<system.web> 
    <httpHandlers> 
     <add verb="*" path="*.html" type="Jeeves.RedirectHandler"/> 
    </httpHandlers> 
</system.web> 
+0

나는 모든 것을 시도했습니다. IIs에서 로컬로 실행, 작동하지 않음, VS에서 웹 서버 구축 - 작동하지 않았습니다. VS WebServer에서 asp.net MVC로 변경, ASP.NEt MVC IIS 7에서 작동하지 않았다. 내 고혈압이 다시 (고통으로부터) 아래로 떨어지고 다시 시도 할 때까지 2 일을 기다려야 만합니다 ... 어떤 제안이라도 환영합니다 ... –

+0

대신 system.web/httpHandlers를 사용해 보셨습니까? –

+0

IIS에서 이것을 테스트하는 경우 .HTML을 asp.net isapi로 매핑해야 할 수도 있으므로 실제로 처리됩니다. 또는 .ashx로 이름을 바꿀 수 있습니다. – Phill

관련 문제