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

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

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 개발자 네트워크 (웹 사이트를 방문하십시오.해당 구성 요소에 대한 새 컨텍스트를 만들고 구성하는 구성 요소 및 패키지 설정할 서비스를 끝낼 수 있습니다 때문에 이러한 구성 요소에 해당 컨텍스트 외부에서 다른 구성 요소에서 만들어진 모든 호출 컨텍스트 교차 합니다. 그리고 마샬링해야 합니다.

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

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

경고: 이 문서는 자동 번역되었습니다

속성

문서 ID: 829211 - 마지막 검토: 01/17/2015 05:24:09 - 수정: 1.4

  • Microsoft COM+ 1.0
  • kbnosurvey kbarchive kbmt kbqfe kbfix kbbug kbwin2000presp5fix KB829211 KbMtko
피드백