Paul Johnson의 웹 위젯 코드를 구현하는 문제는 2008 년대로 작동하지만 IIS 6.0에 배포되지는 않습니다.

StackOverflow https://stackoverflow.com/questions/350393

문제

지침을 사용합니다 폴 존슨의 웹 위젯 페이지 나는 내 자신의 사용자 정의 위젯을 만들었습니다. 그러나 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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top