COM + 구성 요소를 호출자의 컨텍스트에서 참가하려면 Just-In-Time 활성화 MiniJIT이 있습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 829211 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

이 문서에서는 MiniJIT, 및 어떻게 이를 Just-In-Time (JIT)을 사용하여 호출자의 컨텍스트에서 인스턴스화할 수 있는 구성 요소를 설정할 수 있습니다 라는 새로운 Microsoft COM + 기능을 설명합니다.

JIT 활성화 서비스 COM + 에서 사용하는 경우 COM + 구성 요소는 자체 컨텍스트를 조인해야 합니다. JIT 활성화된 구성 요소가 해당 호출자의 컨텍스트를 참가할 수 있도록 하려면 MiniJIT 포함되었습니다 28 COM + 1.0 롤업에 수정합니다. MiniJIT 사용할 수 있는 구성 요소를 JIT 활성화 걸릴 수 있으며 여전히 해당 호출자의 컨텍스트에서 활성화할 수 있습니다. MiniJIT은 IObjectControl::Activate 메서드 및 IObjectControl::Deactivate 메서드를 적절히 호출해야, 및 하위 구성 요소의 다음 방법 중 하나를 호출할 때 트랜잭션 및 부모 (호출자의 구성 요소) 의 상태를 영향을 받지 않는 것을 확인해야 합니다.
  • IObjectContext::SetComplete
  • IObjectContext::SetAbort
  • IObjectContext::EnableCommit
  • IObjectContext::DisableCommit
참고 MiniJIT 구성 요소를 호출자의 컨텍스트에서 활성화된 구성 요소를 가져오려면 여전히 다음 문서에서 설명하는 JIT 이외의 설정을 올바르게 설정해야 합니다 모든 구성 요소 및 응용 프로그램 속성 사용:
261096COM + 구성 요소가 해당 호출자의 컨텍스트에서 활성화하는 방법

MiniJIT 사용 방법

  1. 해당 COM + 롤업 28 있는지 확인하거나 나중에 설치할 수 있는 COM + 개체를 만들고 있는 컴퓨터.
  2. 해당 컴퓨터에 대한 MiniJIT 설정하려면 레지스트리에 다음 값을 추가하십시오.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\

    DWORD 값: MiniJITEnabled = 1
  3. 모든 구성 설정 및 다음 문서에서 설명하는 JIT 이외의 응용 프로그램 속성 설정:
    261096COM + 구성 요소가 해당 호출자의 컨텍스트에서 활성화하는 방법
  4. 구성 요소 속성을 만들고 개체에 MiniJIT 사용할 수 있는지 결정하는 COM + 런타임에 수 있도록 다음 옵션을 설정하십시오.
    • 사용 시간 활성화 마법사를 위치
    • 합니다 수 활성화되는 호출자의 컨텍스트에서
올바르게 MiniJIT에 대한 후보 구성 요소를 식별해야 합니다. MiniJIT 적용하기 전에 이러한 구성 요소를 호출자의 컨텍스트에서 인스턴스화할 수 있어야 합니다. 구성 요소를 다음 요구 사항을 충족해야 합니다.
  • 이러한 구성 요소가 없는 합니다 (필요한 경우) 모든 COM + 사용을 JIT 아닌 다른 서비스.
  • 구성 요소 또는 MiniJIT 사용할 수 있는 구성 요소를 항상 다른 구성 요소 또는 다른 구성 요소와 동일한 프로세스에서 호출해야 합니다. MiniJIT 사용할 수 있는 구성 요소는 구성 요소 또는 구성 요소, 또는 클라이언트 또는 다른 프로세스에서 클라이언트가 호출할 수 없습니다. MiniJIT 라이브러리 패키지를 사용할 수 있는 구성 요소를 추가하는 것이 좋습니다. 이렇게 해야 개체가 있는 호출자가 만들어집니다.
  • 구성 요소 또는 MiniJIT 사용할 수 있는 구성 요소를 항상 같은 스레딩 모델 가진 다른 구성 요소에서 호출해야 합니다. 이 구성 요소 또는 구성 요소에 동일한 스레드 또는 아파트 인스턴스화할 수 있는지 확인하십시오.
이러한 요구 사항을 충족하는 경우 구성 요소 인스턴스화 다음 오류와 함께 실패할 수 있습니다.
0x80004024: 지정된 클라이언트 컨텍스트에서 지정한 활성화가 발생할 수 없습니다.

표준 JIT 및 MiniJIT 차이점

  • MiniJIT 개체의 ObjectControl_Activate 메서드는 즉시 개체를 만든 후 첫 번째 메서드는 호출되지 때 호출됩니다. 첫 번째 메서드를 호출할 때 일반적인 JIT 시나리오에서는 ObjectControl_Activate 메서드가 호출됩니다.
  • 호출 개체가 소멸될 때 MiniJIT 개체의 ObjectControl_Deactivate 메서드는 경우에만 호출됩니다. MiniJIT 개체 비활성화 메서드는 SetComplete 메서드 다음에 즉시 호출됩니다 또는 SetAbort 를 메서드 호출이 이루어집니다. 마지막 해결되지 않은 참조가 경우에도 출시된 후 Deactivate 메서드는 호출되지 않습니다. 일반적인 JIT 경우 ObjectControl_Deactivate 메서드는 SetComplete 메서드나 SetAbort 를 메서드를 후 또는 마지막 참조가 해제되면 호출됩니다.

추가 정보

개체가 상주하는, 특정 참조를 엔터티입니다 컨텍스트 COM + 1.0에 도입되었습니다. Microsoft 트랜잭션 서버 (MTS에), 가장 구체적인 참조 엔터티, 아파트 있었습니다. COM + 에서 둘 이상의 컨텍스트 내의 아파트 될 수 있습니다. 같은 아파트 있는 두 개의 구성 요소를 두 가지 다른 컨텍스트에서 있을 수 있습니다. 동일한 컨텍스트에서 있을 경우 이러한 두 구성 요소 간에 호출은 마샬링됩니다. 마샬링 프로세스 만들어진 새 컨텍스트 수에 따라 성능 오버헤드를, 변경한 내용이 상호 컨텍스트 호출 및 종류 및 이러한 호출이 전송되는 데이터 양을 도입할 수 있습니다. 컨텍스트 가로채기 논리를 COM + 기능을 제공하기 위해 COM + 에 도입되었습니다. 자체 컨텍스트 가로채기 기반 COM + 서비스를 사용하는 모든 개체가 있습니다.

컨텍스트 및 COM + 스레딩 모델에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
http://msdn2.microsoft.com/en-us/library/ms809826.aspx
해당 구성 요소에 대한 새 컨텍스트를 만들고 구성하는 구성 요소 및 패키지 설정할 서비스를 끝낼 수 있습니다 때문에 이러한 구성 요소에 해당 컨텍스트 외부에서 다른 구성 요소에서 만들어진 모든 호출 컨텍스트 교차 합니다. 그리고 마샬링해야 합니다.

DLL 구성 요소를 COM에 등록된 모든 COM + 패키지를 속하지 않는 경우 호출자는 구성 요소의 컨텍스트에서가 호출됩니다. 이 구성 요소는 구성되지 않은 구성이 요소입니다. 이 구성 요소 호출 컨텍스트 간에 마샬링 오버헤드가 발생하지 않습니다.

COM + 패키지 속해 있는 구성 요소는 호출자의 컨텍스트에서 가로채기 필요한 COM + 서비스를 사용하지 않도록 설정하여 인스턴스화하려면 만들 수 있습니다. 이러한 구성 요소는 원시 구성되어 있습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
261096COM + 구성 요소가 해당 호출자의 컨텍스트에서 활성화하는 방법
RAW 구성된 구성 요소 간 컨텍스트 마샬링 오버헤드가 발생하지 않습니다.

속성

기술 자료: 829211 - 마지막 검토: 2007년 4월 19일 목요일 - 수정: 1.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft COM+ 1.0?을(를) 다음과 함께 사용했을 때
    • the operating system: Microsoft Windows 2000
키워드:?
kbmt kbqfe kbfix kbbug kbwin2000presp5fix KB829211 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com