COM+ CRM 문제 해결

다음은 COM+ CRM을 개발하고 사용할 때 발생하는 가장 일반적인 문제입니다.

  • 이벤트 로그 메시지. CRM 서버 애플리케이션에 심각한 내부 오류가 발생하면 장애 조치(failfast)(CRM 서버 애플리케이션 프로세스 종료)하고 Windows 이벤트 로그에 메시지를 씁니다. 문제가 발생하면 이벤트 로그를 참조하세요.

  • CRM Compensator의 예외입니다. CRM 인프라는 CRM Compensator를 만들고 CRM 작업자가 작성한 트랜잭션 결과 알림 및 로그 레코드를 전달합니다. CRM Compensator가 오류를 반환하거나 예외를 throw하는 경우 CRM 인프라에 의해 catch되고 장애 조치(failfast)가 발생합니다. 이벤트 로그의 메시지는 CRM Compensator에서 예외가 수신되었음을 나타냅니다. 이러한 예외를 강제로 무시할 수 있습니다. ( COM+ CRM 레지스트리 설정을 참조하세요.) CRM Compensator의 예외는 CRM 인프라 자체가 아닌 특정 CRM Compensator 구성 요소에서 문제를 의미할 가능성이 큽니다.

  • 복구 추적. 복구 추적은 복구 중에 문제를 확인하는 데 매우 유용할 수 있습니다. 복구 추적을 사용하도록 설정하는 방법에 대한 자세한 내용은 COM+ CRM 레지스트리 설정을 참조하세요.

  • CRM을 사용하도록 설정하지 않은 상태로 실행하려고 합니다. 단순히 CRM 작업자 및 CRM Compensator 구성 요소를 COM+ 서버 애플리케이션에 배치하는 것만으로는 충분하지 않습니다. COM+ 애플리케이션의 속성 페이지의 고급 탭에서 보상 리소스 관리자 사용 옵션을 사용하여 특정 COM+ 서버 애플리케이션에 대해 CRM 지원을 특별히 사용하도록 설정해야 합니다. 자세한 내용은 COM+ CRM 구성 요소 구성 을 참조하세요. CRM을 사용하도록 설정하지 않은 서버 애플리케이션 내에서 CRM을 사용하려고 하면 오류 코드가 CRM 작업자에게 반환됩니다.

  • 클라이언트 프로세스에서 CRM을 실행하려고 합니다. CRM은 클라이언트 프로세스에서 실행되지 않습니다. COM+ 서버 애플리케이션 프로세스에서 실행해야 합니다. CRM 구성 요소는 여러 COM+ 서버 애플리케이션에서 사용하기 위해 라이브러리 패키지에 배치할 수 있지만 클라이언트 프로세스 내에서 사용할 수는 없습니다. 클라이언트 프로세스 내에서 CRM 인터페이스를 사용하려고 시도하면 CRM 작업자에 오류 코드가 반환됩니다.

  • 복구가 진행 중입니다. CRM 서버 애플리케이션이 시작될 때 복구가 시작됩니다. 그러나 CRM 서버 애플리케이션을 정상적으로 처리하는 동안 백그라운드에서 복구가 발생합니다. 복구가 완료되기 전에 CRM 작업자를 만들 수 있습니다. 복구가 성공적으로 완료될 때까지 CRM 서버 애플리케이션 프로세스에서 CRM을 사용할 수 없습니다. 이 경우 CRM 작업자는 CRM Compensator를 등록하려고 할 때 "복구 진행 중" 오류 코드를 받습니다. CRM 작업자는 복구가 완료될 때까지 폴링하거나 지연해야 합니다. 복구 시간은 특정 유형의 CRM과 관련이 있으며 CRM을 디자인할 때 고려해야 합니다. 장기 복구는 바람직하지 않습니다.

  • CRM 로그 파일의 보안. CRM 로그 파일에 대한 액세스가 거부된 경우 CRM 로그 파일에서 보안이 설정되는 방법에 대한 설명은 COM+ CRM 보안 고려 사항을 참조하세요.

  • 의심할 여지없는 트랜잭션. 드물게 DTC 트랜잭션이 의심스러운 상태로 전환될 수 있습니다. 즉, DTC는 트랜잭션 결과를 확인할 수 없습니다. 이러한 경우 복구하는 동안 CRM은 CRM 로그 파일에서 해당 트랜잭션에 대한 로그 레코드를 유지 관리합니다. DTC에서 의심스러운 트랜잭션을 확인하면 다른 CRM 복구를 수행하면 트랜잭션이 완료됩니다.

  • CRM Compensator 만들기 및 릴리스. CRM Compensator가 CRM 작업자에 의해 처음 등록되면 CRM 인프라에서 생성되고 지원되는 CRM Compensator 인터페이스를 확인하기 위해 쿼리됩니다. 그런 다음 즉시 릴리스됩니다. CRM Compensators는 중간 메서드 호출 없이 생성 및 해제할 수 있는 기능을 지원해야 합니다. 잘못된 COM 등록으로 인해 CRM Compensator를 올바르게 만들 수 없거나 올바른 CRM Compensator 인터페이스 중 하나 이상을 지원하지 않는 경우 오류 코드가 CRM 작업자에게 반환됩니다.

COM+ 보상 Resource Manager 개념