IIS7.5의 정적 파일 핸들러가 스크립트를 처리하지 않음
Windows 7 Home Premium 노트북의 IIS에 첫 번째 웹 애플리케이션을 도입하려고 했습니다.응용 프로그램을 만든 후 Classic App Pool로 변경한 후 해당 풀을 Framework 4.0으로 설정해야 했습니다.이 시점에서, 다음의 에러가 표시됩니다.
HTTP Error 404.17 - Not Found 요청된 콘텐츠는 스크립트이며 정적 파일 핸들러에 의해 처리되지 않습니다.
요청된 URL은 http://localhost:80/pvmms/default.aspx입니다.
유감스럽게도 광범위한 구글링은 나와 함께 일할 수 있을 만큼 명확하거나 확실한 결과를 얻지 못했고, 나는 평소처럼 전문가들에게 의지했다.
편집: .aspx 파일에 대한 프레임워크 4.0 핸들러 매핑이 없기 때문일 수 있습니다.단, aspnet_regiis는 관리자 사용자에게 핑거까지 제공하고 이 핑거를 실행하려면 관리자 권한이 필요하다고 말합니다.
편집 #2: 모든 프레임워크 (2 & 4, 32 및 64)를 등록하여 모두 동작하게 되었습니다.스크립트 맵을 수동으로 추가해서 찾았습니다..aspx
및 voila.aspnet_isapi로 합니다.메모리에 장애가 발생하여 VS를 설치한 후에 IIS만 활성화하지 않는 한 프레임워크 설치가 왜 이 작업을 수행하지 않는지 이해할 수 없습니다.
지금은 너무 늦었을지도 모르지만 자주 도망쳐야 한다.
aspnet_regiis.exe -i
asp.net 를 인스톨 한 후.지금이라도 할 수 있을 것 같아요.
위 외에 WCF 지원이 필요한 경우 다음을 수행해야 할 수 있습니다.
c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i
v3.0을 현재 프레임워크 버전으로 바꿉니다.
작성한 WCF 서비스에 액세스 하려고 하면, IIS 8.5 로부터 이 에러가 발생했습니다.서버에 WCF HTTP 활성화 기능이 켜져 있지 않았습니다.체크박스를 켜고 마법사(isreset)를 클릭하여 동작을 개시.
iis 7.5를 사용하는 경우.
IIS Manager로 이동하여 웹 사이트 속성을 여십시오.
Handler Mappings(핸들러 매핑) 섹션이 표시됩니다.이 섹션으로 이동하여 static File(스태틱 파일)을 검색합니다.
아마 목록의 마지막 파일일 거예요
그런 다음 마우스 오른쪽 버튼을 클릭하고 '부모로 되돌리기'를 선택합니다.
처음 마주했을 때 너무 많은 시간을 허비했는데, 어쨌든 이것으로 당신의 문제는 해결이 될 것입니다.
ASP를 탑재한 Windows Server 2012에서 이 문제가 발생했습니다.NET 4.5는 aspnet_regiis를 사용할 수 없습니다.ASP 를 인스톨 하면 됩니다.역할 및 기능 추가 마법사를 통한 NET 4.5:
Server Manager 오른쪽 구석에 있는 "관리" 메뉴에서 "역할 및 기능 추가" 메뉴 항목을 찾을 수 있습니다.
이 옵션을 확인해야 합니다.
는 ★★★★★★★★★★★★★★를 유효하게 해 해결했습니다.WCF Services
Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node
그러나 IIS 셋업 전체의 설정/추측/시행은 인정해야 합니다.또한 접근방식은 완전 농담입니다.해결 방법을 찾기 위해 하루 중 4~5일을 소비합니다.
확실히, 'IIS'는 지금까지 인류에게 행해진 가장 큰 자신감 속임수이다.
질문인 8 3.5되어 있고, 8의 3.5 어플리케이션 이후에도 이 .aspnet_regiis -iru
ASP로 판명되었습니다.NET 3.5는 애플리케이션 개발 기능에서 체크 표시가 되어 있지 않습니다(이미지를 투고하기에는 평판이 좋지 않습니다).
기본적으로는 응용 프로그램용으로 작성된 응용 프로그램 풀이 버전 2일 수 있습니다.따라서 목록에 .svc 확장자 핸들러가 표시되어도 동작하지 않고 정적 파일로 취급됩니다.애플리케이션 풀 속성을 열고 버전 4로 전환하기만 하면 됩니다.
를 다시등록하면 문제가 asp.net문제가 해결됩니다.
프롬프트, Visual Studio 명령 프롬프트로 합니다.
asp을 windows.netasp.net] windows\microsoft.net\Framework로 합니다.「num」\aspnet_regiis. - iexe - i
셋업하고 있는 Windows 8 머신에서도 같은 문제가 발생했습니다.vs2010 이전에 vs2012를 설치한 적이 있습니다.NET 프레임워크 4.5앱 풀을 4.0으로 실행하고 있습니다.aspnet_regiis -i를 사용하여 aspnet 4.0을 등록했는지 확인했습니다.그것은 여전히 효과가 없었다.그 후 Windows 기능을 열어 보니 4.5에 "라는 이름의 세트가 추가되었습니다.「NET Framework 4.5 Advanced Services」를 참조해 주세요.WCF 서비스 노드와 그 하위 노드를 활성화하면 svc 엔드포인트가 올바르게 동작합니다.이것이 Windows 8로의 이행에 도움이 되기를 바랍니다.
나는 같은 문제에 부딪혔을 때 이 질문을 우연히 발견했다.문제의 근본 원인은 잘못 구성된 앱 풀이었습니다.4.0으로 설정해야 할 때 실수로 2.0으로 설정되었습니다.다음 링크의 답변이 이 문제를 해결하는 데 도움이 되었습니다.http://forums.iis.net/t/1160143.aspx
Windows 10/Framework 4.7 에서는, 다음의 방법으로 HTTP 액티베이션 기능을 유효하게 할 필요가 있었습니다.
- [컨트롤 패널]> [프로그램과 기능]> [Windows 기능의 온/오프]
- .NET Framework 4.7 Advanced Services에서 WCF 서비스를 펼치고 HTTP 액티베이션 및 WCF 사용 시 필요한 기타 항목을 체크합니다.
- [확인]을 클릭하여 설치가 완료될 때까지 기다린 후 관리 명령 프롬프트를 열고 IISRESET 명령을 실행합니다.
cmd -> 우클릭 -> 관리자 권한으로 실행
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regi.exe - i
이 글을 읽는 다른 사람의 경우:
이 문제는 가 발생했을 경우에 발생합니다.등록한 넷 버전은 웹 사이트에 연결된 응용 프로그램 풀의 '기본 설정'에서 선택한 버전이 아닙니다.예를 들어 사이트 애플리케이션 풀에 가 있습니다.Net v2.0을 선택했지만 v4.0을 등록했습니다.
같은 에러 메세지가 표시되고 있는 것을 발견한 또 하나의 해결 방법이 있습니다.
를 셋업하려고 할 때.새로운 애플리케이션 풀에 대한 NET 4.0 웹 애플리케이션 정적 파일 핸들러를 사용하여 aspx 파일을 처리하려고 한다는 이상한 오류가 발생했는데, 이는 말이 되지 않습니다.
어떤 이유로 의 ISAPI.NET 4.0 은, IIS 매니저의 서버 레벨의 ISAPI 및 CGI 의 제한 영역에서 무효로 설정되어 있습니다.유효하게 설정하기만 하면 됩니다만, IIS 7.5 매니저는 복잡하기 때문에, 이것을 이해하는 데 오랜 시간이 걸렸습니다.
4.0 엔진에서는 처리할 수 없는 4.0 어플리케이션이었기 때문에 디폴트로 스태틱 파일 핸들러가 사용되고 있었던 것 같습니다.
저도 같은 문제가 있었어요.IIS용 스태틱콘텐츠 기능을 추가했을 때 정상적으로 동작합니다.
어플리케이션 풀->상세설정->32비트 어플리케이션 활성화(true여야 함)에서 여러 가지 이유가 있을 수 있습니다.이전에 false로 설정되어 있었습니다.
IIS 매니저를 사용하여 ASP에서도 .aspx 파일이 ISAPI 2.0에 매핑되어 있는 것을 알 수 있었습니다.NET 4.5는 이미 설치되어 있습니다.ISAPI 4.0 64비트용 실행 파일을 가리키도록 편집하면 문제가 해결되었습니다.
실행 파일이 %windir%\에서 발견되었습니다.마이크로소프트(MS.NET\Framework64\v4.0.30319\aspnet_isapi.dll
.net 2.0에 할당된 클래식 앱 풀이 있는 iis 7.5의 애플리케이션에 대해 이 메시지를 받았습니다.Handler Mappings에 접속하여 스크립트 맵을 2개 추가해야 합니다.이 두 가지 모두 이름만 다를 뿐 모두 동일합니다.하나는 svc-ISAPI-2.0-64이고 다른 하나는 svc-ISAPI-2.0입니다.요청 경로는 .svc였습니다.실행 파일은 %SystemRoot%\였습니다.마이크로소프트(MS.NET\Framework64\v2.0.50727\aspnet_isapi.dll.i를 재기동하면 모두 만족했습니다.
방금 해결한 최악의 시나리오 중 하나는 Web.config에 모순된 엔트리가 있는 것입니다.
로컬 머신에서는 IIS에 .woff 확장자가 등록되어 있지 않기 때문에 Web.config를 사용하여 추가했습니다.그러나 프로덕션 서버에서는 .woff가 MIME 유형을 등록했습니다.이로 인해 응용 프로그램 수준 경합이 발생했습니다.
재미있는 점은 이 에러가 기록되어 있지 않다는 것입니다.추측일 뿐입니다(물론 처음입니다).
그래서 저는 web.config에서 또는 요소를 삭제하는 것만으로 해결했습니다.
저도 같은 문제가 있었습니다만, 방금 웹 사이트의 타겟 프레임워크 버전을 IIS에서 개발되고 있는 버전으로 변경했습니다.이것으로 내 문제는 해결되었다.이게 도움이 되길...
감사해요.
언급URL : https://stackoverflow.com/questions/3762287/script-not-served-by-static-file-handler-on-iis7-5
'programing' 카테고리의 다른 글
Linux 쉘 스크립트에 새 행을 삽입하려면 어떻게 해야 합니다. (0) | 2023.04.23 |
---|---|
Windows 명령줄에서 응용 프로그램 종료 코드를 가져오려면 어떻게 해야 합니까? (0) | 2023.04.23 |
DataTable을 통해 반복하는 방법 (0) | 2023.04.23 |
How do I use an INSERT statement's OUTPUT clause to get the identity value? (0) | 2023.04.23 |
순서 무시로 동일한 두 목록 개체 비교 (0) | 2023.04.23 |