오늘은 매우 기쁩니다. 프로젝트가 마침내 온라인에 공개되었습니다. 온라인에 접속하기 전에 겪은 문제가 지쳤을뿐입니다. . . 그러나 마침내 해결되었습니다. . 도움이 필요한 친구들에게 도움이 되기를 바라면서 여기서 문제를 말씀드리겠습니다~~
프로젝트: DOTNET 프로젝트, C# 개발, 주요 기능은 COM 구성 요소를 통해 원격 인터페이스에 액세스하는 것입니다.
운영 환경: Windows 2003 Server + IIS6.0 + .Net 1.1
문제: COM 구성 요소 및 시스템은 WINDOWS2000 운영 체제에서 정상적으로 사용할 수 있지만 WIN2003으로 마이그레이션한 후 프로그램이 구성 요소를 호출할 때 프로세스가 중단되고 때로는 서버에 예상치 못한 상황이 발생했음을 나타내는 오류가 반환됩니다~
원인 분석: 우선, 다른 운영 체제에서 전달된 구성 요소는 해당 구성 요소에 문제가 없음을 나타냅니다. COM 구성 요소의 등록 방법과 DOTNET 프로젝트 참조는 정확하지만 구성 요소를 호출하는 단계에서 오류가 발생합니다. , COM 구성 요소의 기능은 IP 주소와 포트를 전달하는 것입니다. 원격 인터페이스에 액세스하려면 원격 네트워크 연결 작업에 주의하세요. 인터넷에서 유사한 문제를 검색하면 대부분의 기사가 구성 요소 권한에 관한 것입니다. 저도 글에 따라 구성요소를 설정했는데 IIS 접근 사용자 등의 권한을 최대치로 줬는데 여전히 결과가 나오지 않네요. . 무너지려고 합니다. .
해결 방법: 며칠 동안 이 문제로 시달린 후 회사는 Microsoft 고객 지원에 문의했고 Microsoft는 IIS6.0에서 응용 프로그램 풀의 보안 권한을 확인할 수 있는 방법을 제공했습니다. 확인 후, IIS의 응용 프로그램 풀 속성에서 "ID" 탭 아래에 기본 보안 계정인 "Network Service"가 있는데, 이는 NetWork Service입니다. 네트워크 서비스는 Windows Server 2003에 내장된 계정입니다. IIS_WPG 그룹에 속합니다. IIS_WPG의 구성원은 적절한 NTFS 권한과 필요한 사용자 권한을 가지고 있습니다. Microsoft 웹 사이트의 기사에 따르면 네트워크 서비스 계정에는 역할을 하는 프로세스가 있습니다. IIS 6 작업자 프로세스를 식별하고 네트워크에 액세스할 수 있는 충분한 권한. 하지만 이유는 모르겠습니다. 여기의 네트워크 서비스 권한이 충분하지 않아서 원격 인터페이스에 액세스하기 위해 구성 요소를 호출할 수 없습니다. 해결책은 IIS_WPG 계정을 읽기 및 실행, 폴더 디렉터리 나열, 읽기로 설정하는 것입니다. NETWORK SERVICE에는 모든 제어 권한이 필요합니다. 위의 방법으로 관리자 그룹 ^_||에 NetWork Service를 할당하고 IIS를 다시 시작한 후 프로그램을 실행시켰더니 정상적으로 컴포넌트가 호출되었습니다~~
그래서 COM 컴포넌트를 호출하는 친구가 발견하면 다시 사용하시려면 프로그램 풀의 권한 적용을 고려해보세요~~
다음 글을 참고하세요: http://www.microsoft.com/china/technet/community/columns/insider/iisi1203.mspx
http://flyskywlh.cnblogs.com /archive/2006/07/07 /445508.html