2011-02-07 9 views
2

만약 이것이 기본이라면 용서해주십시오. 나는 전에 한 번도 만들어 본 적이 없으며 작동하지 않는 이유를 알아낼 수 없습니다. 약간의 처리기를 작성하여 CSS 파일을 구문 분석했습니다. 나는 이것을 추가했다 :커스텀 HttpHandler never running

<system.web> 
     <httpHandlers> 
      <remove verb="*" path="*.css"/> 
      <add verb="*" path="*.css" 
type="MyNameSpace.CssRelativePathHandler,CssRelativePathHandler" /> 
     </httpHandlers> 
    </system.web> 

아무 일도 일어나지 않는다. CSS 파일은 정상적으로 파싱됩니다. 오류가 없으며, 코드가 실행되지 않습니다. 내가 뭘 놓치고 있니? * .css 파일이 제공 될 때 처리기가 사용되지 않아야합니까? (나중에 "remove"를 추가했는데, 아마도 내장 된 핸들러를 다시 정의해야 할 필요가 있다고 생각했기 때문입니다.

이것은 IIS 6입니다. 어쨌든 (대답을 검색 한 후) IIS 7 코드를 추가했지만 아무런 차이가 없습니다.

 <system.webServer> 
     <handlers> 
      <add name="CssHandler" verb="*" path="*.css" 
type="MyNameSpace.CssRelativePathHandler,CssRelativePathHandler" /> 
     </handlers> 
     </system.webServer> 

답변

1

당신은 ASP.Net에 .css 파일에 대한 요청을 보낼 IIS6을 구성해야합니다.

IIS7을 사용하고 있었다면 <system.webServer> 요소가이를 처리했을 것입니다. 그러나 IIS6이이를 앞선 것입니다.

0

IIS 6의 경우 * .css 파일을 ASP.NET에 보내도록 지시해야합니다.

  1. 하기 시작 IIS 관리자
  2. 마우스 오른쪽 단추로 클릭 기본 웹 사이트 것은
  3. 홈 디렉터리 탭에서 응용 프로그램 설정에서
  4. 구성을 클릭에 클릭

새 연결 추가 .NET 실행 파일에 매핑하십시오.

C : \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll

0

ASP.NET에서 .css 확장명을 실행하도록 IIS를 구성해야하는 것처럼 들립니다. http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

을 또는 당신은 IIS에서 와일드 카드 매핑을 설정할 수 있습니다

필 Haack이 그 일에 연습이있다 (그냥 "ASP.NET에 매핑 .mvc"제목 아래 .CSS와 .mvc 대체) 6 : http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx?mfr=true

와일드 카드 방식을 사용하면 ASP.NET에 모든 요청을 전송할 것이므로 첫 번째 방법을 사용하는 것이 좋습니다. 그러면 더 많은 오버 헤드가 발생합니다.

추신 : Phil의 게시물 아래에 "IIS6 Extension-less URL"과 와일드 카드 매핑 방법도 나와 있습니다.