Paul Johnson의 웹 위젯 코드를 구현하는 문제는 2008 년대로 작동하지만 IIS 6.0에 배포되지는 않습니다.
-
20-08-2019 - |
문제
지침을 사용합니다 폴 존슨의 웹 위젯 페이지 나는 내 자신의 사용자 정의 위젯을 만들었습니다. 그러나 IIS 6.0에 배치했기 때문에 web.config 변경 사항이 권장됩니다 IIS 7.0 구성 관리 옵션을 IIS 6.0에서 사용할 수 없었습니다.
VS 2008로 디버깅 할 때 위젯이 올바르게 렌더링됩니다. 그러나 파일과 업데이트 된 Web.Config가 IIS 6.0을 실행하는 Windows 2003 서버에 배포되고 렌더링 된 오류가 "페이지를 찾을 수 없습니다"입니다.
개발 기계는 Windows Vista 머신이지만 2008 년 대 VSTA의 IIS 7.0이 아닌 자체 내부 웹 서버를 사용하기 때문에 이것이 문제가되었을 것이라고 생각하지 않았습니다.
이 문제를 디버깅하는 데 도움이 될 것입니다.
해결책
그의 지시는 불완전합니다. 또한 .jss에 대한 응용 프로그램 구성에서 windows microsoft.net framework vxxxx directory에 .jss에 대한 응용 프로그램 구성에 스크립트 매핑을 추가해야합니다.
IIS6은 Cassini에 고유 한 intergrated 파이프 라인을 수행하지 않으며 IIS7에서 기본값입니다.
편집하다: 세부 사항
- IIS 관리자에서 열린 응용 프로그램 속성.
- 홈 디렉토리 탭을 선택하십시오
- 구성 클릭 ...
- .aspx에 대한 매핑 목록에서 항목을 선택하고 편집을 클릭하십시오 ...
- 실행 파일 텍스트 상자의 내용을 강조 및 복사하고 취소를 클릭합니다.
- 추가를 클릭하십시오 ...
- 실행 가능한 텍스트 상자에 붙여 넣으십시오
- 확장자 텍스트 상자에 .jss를 입력하십시오
- 입력하십시오. 한계에 대한 머리 : 상자
- 파일이 존재하는지 확인해야 할 수도 있습니다
좋아요.
이제 확장자가있는 URL은 핸들링을 위해 asp.net에 전달됩니다.
다른 팁
내가해야 할 몇 가지 다른 변화 ...
구성 변경 (핸들러는 위젯베이스가 아닌 eventswidget에 매핑되어야합니다) :
<system.web>
<httpHandlers>
<add verb="GET,HEAD" path="eventswidget.jss" type="Demo1.Handlers.EventsWidget, Demo1" validate="false" />
</httpHandlers>
</system.web>
eventswidget.buildOutput은 JavaScript를 반환해야합니다 (default.aspx에서 '스크립트'태그를 설정하는 방법에 따라 다름) :
Public Overrides Function BuildOutput() As String
Dim sOutput As String = "document.write('<br><b>Hello World</b>');"
Return sOutput
End Function