클래식 ASP/vbscript 페이지에서 .NET COM 객체를 Instanciate 할 수 없습니다 (Error ASP 0177)

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

문제

.NET 3.5를 사용하여 C#에서 COM Interop 활성화 클래스 라이브러리를 작성했습니다. 객체는 클래식 ASP 페이지에 대한 유틸리티 기능을 제공하기위한 것입니다. 원하는 개체를 주입하고 메소드를 호출하는 test.asp 페이지를 작성했습니다. 내 컴퓨터에서 잘 작동합니다.

다른 컴퓨터 (Windows Server 2003 -Standard Edition)에서는 어셈블리가 Regasm에 올바르게 등록되지 않으면 작동하지 않습니다. 나는 Regedit을 확인했고 Afaik은 괜찮아 보인다.

내가 얻는 오류는 "ASP 0177"(오류 코드), "8000ffff; server.createObject-fehler"(오류 설명)입니다.

BTW. 어셈블리는 서명되었으며 다른 맞춤형 빌드 어셈블리가 의존성 (시스템 재료 만)이 없습니다.

누구든지 비슷한 것을 경험 한 사람이 있습니까?

도움이 되었습니까?

해결책

IUSR 사용자 (또는 IIS 사용자가 누구든지)를 다음 레지스트리 키로 읽는 것은 나에게 작업을 수행하고 문제를 해결했습니다.

HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones

다른 팁

보안 문제라고 생각합니다. 자신의 PC에서 구성 요소를 개발하고 테스트 한 것으로 보이며, 서버와 비교하여 많은 차이가 있습니다 (예에 따라 Visual Studio가 설치되어 있음).


편집 :이 Microsoft "Hotfixes a Hotfix"를 살펴보십시오.

  • 다음 레지스트리 서브 키를 찾아서 클릭하십시오.
  • 참고 기능 _ignore_zones_initialization_failure_kb945701 subkey가 존재하지 않으면 수동으로 만들어야합니다. 64 비트 OS를 사용하는 경우 hkey_local_machine 소프트웨어 wow6432node microsoft Internet Explorer main feacturecontrol feaction_ignore_zones_initialization_failure_kb945701 대신 사용해야 할 수도 있습니다.
  • feaction_ignore_zones_initialization_failure_kb945701을 마우스 오른쪽 버튼으로 클릭하고 새로 가리키고 dword 값을 클릭하십시오.
  • W3WP.Exe를 입력하여 새 레지스트리 항목의 이름을 지은 다음 Enter를 누릅니다.
  • W3wp.exe를 마우스 오른쪽 버튼으로 클릭 한 다음 수정을 클릭하십시오.
  • 값 데이터 상자에서 1을 입력 한 다음 확인을 클릭하십시오.

이 레지스트리 키를 설정하면 간단한 앱 풀 재시작이 변경 사항을 적용합니다. 더 이상 .NET COM 구성 요소는 응용 프로그램 풀을 셔플 링하는 것을 제외하고 실제 솔루션없이 무작위로 작동하지 않습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top