XMLHTTP 구성 요소를 사용하여 프로그램을 작성할 때 "MSXML3.DLL ERROR '800C0005'시스템이 지정된 리소스를 찾지 못했습니다." 인터넷 에서이 오류의 원인에 대한 많은 설명이 있습니다. 일반적으로, 방화벽 또는 UDP 스테이션 포트 권한으로 인해 발생하며 해당 솔루션도 언급됩니다. 다른 사람들은 때때로 그렇지 않을 수도 있습니다. 실제로 오류 설명의 주된 이유는 "시스템이 지정된 리소스를 찾지 못했습니다"입니다. 이 오류는 XMLHTTP 구성 요소의 열린 메소드가 호출되고 보내기 메소드가 사용될 때 발생합니다. 오픈 메소드의 URL 매개 변수가 액세스 할 수없는 경우 8000005의 오류가 발생합니다. 이 오류가 발생하면 응용 프로그램이 종료되고 작업이 계속되지 않습니다. 대부분의 프로그램은 다음과 같이 작성됩니다.
functionFunctionName (pararm ...)
dimhttp
sethttp = server.createobject ( "msxml2.xmlhttp.4.0")
withhttp
. "get", httpurl, false
.보내다
끝
ifhttp.readystate <> 4then
sethttp = 아무것도
......
종료 기능
endif
최종 기능 장애
대부분의 프로그램은 XMLHTTP의 ReadyState 속성을 사용하여 서버의 리턴 상태를 결정합니다. 실제로 이것은 적합하지 않을 수 있습니다. 여러 번, ReadyState 속성을 판사로 사용하면 프로그램 흐름의 오류를 실제로 감지 할 수 없습니다. 오류가 발생하면 프로그램이 여전히 종료됩니다. 실제로 위의 코드를 수정하면 프로그램 실행 중에 발생한 오류를 완전히 건너 뛰고 프로그램을 계속 실행할 수 있습니다. 다음과 같이 코드를 수정하십시오.
functionFunctionName (pararm ...)
dimhttp
sethttp = server.createobject ( "msxml2.xmlhttp.4.0")
withhttp
. "get", httpurl, false
.보내다
끝
onerrorresumenext
ifhttp.status <> 200then
sethttp = 아무것도
......
종료 기능
endif
최종 기능 장애
보내기 메소드가 오류를 생성하면 ReadyState 값은 4 일 수 있지만 상태의 반환 값은 200이되어서는 안됩니다. 하하, ReadyState와 상태를 여러 번 따라 이전 결과를 얻었습니다. 오류가있을 수 있으며 아직 눈치 채지 못했습니다.
위의 프로그램 솔루션이 도움이되기를 바랍니다! 친구를위한 더 나은 솔루션이 있으면 알려주세요.