전역 어셈블리 캐시에서 서비스되는 구성 요소 사용
업데이트: 2007년 11월
서비스되는 구성 요소(관리 코드 COM+ 구성 요소)는 전역 어셈블리 캐시에 저장되어야 합니다. 일부 시나리오에서는 공용 언어 런타임과 COM+ 서비스가 전역 어셈블리 캐시에 없는 서비스되는 구성 요소를 처리할 수 있지만 다른 시나리오에서는 처리할 수 없습니다. 다음 시나리오는 이러한 예에 대해 설명합니다.
COM+ 서버 응용 프로그램에 있는 서비스되는 구성 요소의 경우, 이 구성 요소가 포함된 어셈블리는 전역 어셈블리 캐시에 존재해야 합니다. 왜냐하면, Dllhost.exe는 서비스되는 구성 요소가 포함된 디렉터리와 동일한 디렉터리에서 실행할 수 없기 때문입니다.
COM+ 라이브러리 응용 프로그램에 있는 서비스되는 구성 요소의 경우, 런타임과 COM+ 서비스에서 현재 디렉터리를 검색하여 구성 요소가 포함된 어셈블리의 참조를 확인할 수 있습니다. 이 경우 어셈블리가 전역 어셈블리 캐시에 존재할 필요가 없습니다.
ASP.NET 응용 프로그램에 있는 서비스되는 구성 요소의 경우는 상황이 다릅니다. 서비스되는 구성 요소가 포함된 어셈블리를 응용 프로그램 기본 디렉터리의 bin 디렉터리에 저장하고 요청 시 등록하는 기능을 사용하는 경우, ASP.NET에서는 런타임의 섀도 기능을 사용하므로 해당 어셈블리가 다운로드 캐시로 섀도 복사됩니다.