2011-01-20 5 views
0

저는 외부 컨설턴트가 작성한 기존 Sitecore 데이터 제공 업체를 지원하고 있습니다. 대부분의 경우 작동하지만 문제를 해결해야하는 필드를 채울 때 버그가있는 것 같습니다.Sitecore 데이터 공급자는 언제 실행됩니까?

디버깅하는 가장 좋은 방법을 결정하려고합니다. 컨텐트 항목을 보거나 편집 할 때 데이터 공급자가 실행됩니까? 또는 컨텐트 항목이 게시 될 때? 아니면 둘다?

또한 데이터 제공 업체를 디버깅하는 가장 좋은 방법은 무엇입니까? 실용적인/단위 테스트를 만들 수 있습니까?

이 데이터 제공자는 Spring 프레임 워크 위에 구축되었으므로 거대한 설정 파일은이 제공자가 채울 Sitecore 항목과 필드를 의미합니다.

답변

3

Sitecore의 각 "데이터베이스"(마스터/코어/웹)는 실제로 많은 데이터 제공 업체가 구독하고 응답 할 수있는 공개 채널입니다. Sitecore에서 데이터베이스 요청이 발생하면 해당 요청 메소드를 구현 한 모든 데이터 공급자가 실행되고 응답 할 수있는 기회가 주어집니다. 이러한 요청 방법의 예는 다음과 같습니다 당신이 Sitecore의 다른 코드 (첨부하는 것처럼

  • GetParentID
  • GetItemVersions
  • GetItemFields
  • SaveItem

당신은 확실히 이러한 데이터 공급자를 디버깅 할 수 있습니다 IIS 작업자 프로세스로), 발생 여부는이 데이터 공급자가 구현하는 메서드에 따라 다릅니다. 한 가지 당신이 찾을 수있는 방법은 응용 프로그램 풀을 재설정하는 일이 아니라는 것을 보장하기 위해 항목이 캐시되기 때문에이 메소드가 실행되지 않는다는 것입니다. 가장 좋은 방법은 web.config를 탭하거나 프로젝트를 다시 작성하는 것입니다.

호프가 도움이 되었으면 작년에 쓴 데이터 제공 업체를 분해 해보십시오. another example을 찾고 계신 분도 계실 수 있습니다.

+0

감사합니다. 스티브. 이것은 매우 도움이되었습니다. 나는 데이터 공급자 코드를 통해 읽고있다. –

관련 문제