2012-11-13 5 views
2

입력이나 조언을 미리 보내 주셔서 감사합니다!SqlWorkflowInstanceStore를 다른 스키마와 함께 사용하는 방법에 대한 아이디어가 있습니까?

장기 실행 워크 플로 지속성이 필요한 대규모 프로젝트에서 WF4를 사용하고 있습니다. 배치 일관성을 위해 인스턴스 저장 오브젝트에 대체 스키마 이름을 사용하는 것이 유용합니다. 예를 들어, System.Activities.DurableInstancing.InstanceTable은 DurableInstancing.InstanceTable이 될 것입니다.

이 서버 측을 달성하기 위해 SQL 스크립트를 업데이트하는 것은 어렵지 않지만 말할 수있는 것은 수정할 수있는 방법이 없습니다. 명령을 생성 할 때 SqlWorkflowInstanceStore에서 사용하는 기본 스키마입니다. 스키마 이름은 SqlWorkflowInstanceStoreConstants.DefaultSchema에서 읽 힙니다. 이름은 상수입니다. SqlWorkflowInstanceStore는 봉인되어 있으며 자신의 InstanceStore를 롤업하는 것은 상당한 작업 인 것으로 보이므로 해당 옵션을 추구하기를 꺼립니다.

누락 된 수있는 더 간단한 방법을 아는 사람 있습니까? 또한 스키마 이름을 변경하면 향후 인스턴스 저장소 업데이트를 적용하는 단계가 추가되지만 다른 잠재적 인 문제점을 예측할 수 있습니까?

답변

0

나는 SqlWorkflowInstanceStore가 저장 프로 시저만을 호출하는 것을 알고있는 한 결코 시도하지 않았습니다. 이들 모두는 System.Activities.DurableInstancing DB 스키마에 있어야하지만 테이블 및 뷰를 다른 DB 스키마로 이동할 수 있어야합니다.

솔직히 말해서 나는 더 이상 지원되지 않는 시나리오에서 더 이상 도움이되지 않는다는 것을 의미하지는 않을 것입니다. 어떤 이유로 System.Activities.DurableInstancing tabled/view를 쿼리해야하고 다른 DB 구성표에 있어야하는 앱이 설정되어 있기 때문에 원본 테이블을 가리키는보기를 만들 것입니다.

+0

합리적인 의견입니다. 감사합니다. 언젠가는 길 아래로 커스텀 인스턴스 스토어를 구현할 가능성이 있다는 생각으로, 제안 된 뷰를 통해 앱 내부에서 인스턴스 데이터에 액세스하는쪽으로 크게 기울이고 있습니다. – Royce

0

고유 한 InstanceStore 구현은 어렵지 않습니다. 비슷한 상황에 처해 있었기 때문에 우리는 실제로 두 개의 스키마, 우리와 Workflow SQL을 갖고 싶지 않았습니다. 우리는 자체 InstanceStore를 구현했으며 약 280 행의 코드입니다. 스키마에 하나의 테이블을 추가하고 기존 테이블에 몇 개의 필드를 추가해야했습니다.

고유 한 InstanceStore를 구현하는 것이 좋습니다.

+0

코드를 공유하지 않는 이유는 무엇입니까? – Maurice

+0

@ 존 답장을 보내 주셔서 감사합니다! 나는 맞춤 인스턴스 저장소 (저장소 기반 가능성)를 만드는 데 매우 관심이있다. 잠금 또는 동시성 문제가 발생 했습니까? – Royce

+0

생산 코드를 공유하기는 어려울 지 모르지만 "개념 증명"을 찾을 수 있다면이를 공유 할 것입니다. –

관련 문제