2009-05-09 3 views
4

Web.config에 다음과 같은 내용이 있습니다.ASP.NET 응용 프로그램에서 루트 URL을 매핑하는 방법?

<httpHandlers> 
    . . . 
    <add verb="GET,HEAD" path="/" type="Vis.Web.BootHandler, Vis" /> 
</httpHandlers> 

HTTP 처리기가 작동하는지 확인하기 위해 정적 HTML 페이지를 반환합니다.

이제 웹 응용 프로그램 (Default.aspx가없는 응용 프로그램)을 실행할 때 기본 디렉토리 목록이 대신 표시됩니다. 내가 "/foo" 경로를 바꿀 때 완벽하게 잘 작동합니다.

경로에 대해 ""을 시도 했으므로 디렉토리 목록도 생성됩니다. "/foo"와 동일하게 사용하고 "", "~", "~/", "/"에 URL 매핑을 추가합니다.

웹 루트를 처리하는 방법/HTTP 처리기로 디렉토리 목록을 덮어 쓰시겠습니까?

+0

감사합니다. 이것은 유용한 질문이었습니다. 나는 똑같은 일을하려했다. –

답변

2

업데이트 : IIS의 기능이 필요하기 때문에 개발 서버에서 수행 할 수 없습니다.

ORIGINAL : 당신은 (심지어 디렉토리에 대한) 모든 requestes 따라서 당신의 HTTP 처리기를 .NET 런타임을 통해 실행되도록 asp.net의 DLL에 와일드 카드 응용 프로그램 매핑을 추가해야합니다. 추가 정보를

체크 아웃 http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx

@Greg B 당신이 더미 Default.aspx 페이지를 추가하고 사용하여 핸들러를 등록해야합니다 말 이외에
+0

감사합니다. 매우 도움이됩니다. Visual Web Developer의 내장 웹 서버에서도이 작업을 수행 할 수 있습니까? –

+0

그렇다면 개발 서버에서는 작동하지 않지만 IIS로는 최소한 수행 할 수있는 것은 큰 개선입니다. –

0

/* 경로 :

<httpHandlers> 
    . . . 
    <add verb="GET,HEAD" path="/*" type="Vis.Web.BootHandler, Vis" /> 
</httpHandlers> 
관련 문제