".aspx"와 비 확장 페이지 요청 (즉, contact.aspx 및/contact /)을 모두 처리하려고합니다. IIS7에서 사용자 지정 HttpHandler. 내 처리기는 하나의 케이스 또는 다른 케이스에서 잘 작동하지만, 두 케이스를 모두 처리하자마자 하나의 케이스에서만 작동합니다.사용자 지정 HttpHandler를 사용하여 IIS7의 .aspx 및 비 확장 페이지에 대한 요청을 처리하는 데 문제가 있습니다.
난 단지 매핑을 유지하는 경우는 "*에서 .aspx"모든 .ASPX 요청이 올바르게 처리 할 수 있지만, 분명히 확장명이 요청이 작동하지 않습니다 :
<add name="AllPages.ASPX" path="*.aspx" verb="*" type="Test.PageHandlerFactory, Test" preCondition="" />
핸들러가 아래에있는 내 Web.config의에서 니펫을 참조하십시오
매핑을 "*"로 변경하면 모든 확장 기능없는 요청이 올바르게 처리되지만이 핸들러에서 여전히 처리해야하는 ".aspx"요청은 작동을 멈 춥니 다. 내가 등 이미지, CSS, JS 등의 디스크에있는 파일을 처리하기 위해서 StaticFiles 항목을 추가합니다
<add name="WebResource" path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" />
<add name="StaticFiles" verb="GET,HEAD" path="*.*" type="System.Web.StaticFileHandler" resourceType="File" />
<add name="AllPages" path="*" verb="*" type="Test.PageHandlerFactory, Test" preCondition="" />
미친 것은입니다 난 2과 (에 ".ASPX"요청을로드 할 때 구성 표시됨) IIS7에서 404 찾을 수 없음 오류가 발생합니다. 또한이 오류는 요청이 StaticFiles 처리기에 의해 처리되었음을 나타냅니다. 하지만이 문제를 피하기 위해 resourceType = "File"을 StaticFileHandler에 추가했습니다. MS에 따르면 이것은 요청이 "디스크의 실제 파일"에 대한 것임을 의미합니다. 디스크에있는 부분을 잘못 읽고 해석하고 있습니까?
내 .aspx 파일이 디스크에 없기 때문에 처음부터 처리기를 사용하려고합니다.