두 개의 거의 동일한 가상 Windows Server 2003에서 실행되는 ASP.NET 응용 프로그램이 있습니다. 첫 번째는 내 개발 및 테스트 서버입니다 . Framework 2.0 용 .NET WebExtensions를 설치했으며 응용 프로그램이 잘 실행됩니다. 이제는 동일한 응용 프로그램을 두 번째 서버 (게시자에게 프로덕션 서버라고 부름)에 게시하고 .NET WebExtensions를 설치하고 컴파일 및 데이터베이스 액세스 실행은 물론 전체 APS.NET 응용 프로그램을 게시하려고했습니다. JavaScript AJAX 호출을 통해 정적 PageMethods를 호출하는 경우는 예외입니다. 필자는 IE8의 개발자 도구를 사용하여 JavaScript로 디버깅했으며 동일하게 작동한다는 것을 알았습니다. 그래도 WebMethods의 모든 호출이 반환되고 내부 서버 오류 (오류 코드 500)가 "알 수없는 웹 메서드 index.php"라고 표시됩니다.ASP.NET 응용 프로그램 : AJAX PageMethods 프로덕션 서버에서 "index.php"에 대한 내부 서버 오류 만 반환
프로덕션 서버에 어떤 문제가 있거나 구성을 변경해야하는지 알 수 있습니까?
두 서버의 주요 차이점은 프로덕션 서버는 .NET .../Framework64/v2.0.50727/aspnet_isapi.dll을 사용하고 테스트 서버는 .../Framework/v2.0.50727/aspnet_isapi를 사용한다는 것입니다. dll.
좀 더 세부 정보 :
- 모든 PageMethods는 정적, 문자열을 반환과의 WebMethod-특성을 가지고있다.
- 두 서버 모두 JavaScript는 확인 된 URL "http://myDomain/myPage.aspx/myWebMethod"및 "Content-Type"-Header "application/json charset ="utf-8 "을 사용하여 XmlHttpRequest 객체를 만들고 본문에는 매개 변수의 올바른 JSON 정의가 포함되어 있습니다 PageMethods에 대한. 물론
- 는 AJAX PageMethods을 사용하는 모든 ASPX-페이지는 ASPX - 스크립트 관리자는 "True"로 설정 EnablePageMethods-속성을 hving 않아도됩니다.