2010-06-05 11 views
1

ASP.NET MVC2 응용 프로그램 내에서 wcf 워크 플로 서비스를 호스팅합니다. 워크 플로 (WF4)에서 데이터를로드/저장할 수 있어야합니다. 어떻게 할 수 있습니까? 내 활동 내에서 Entity Framework 컨텍스트를 인스턴스화하고 읽기/쓰기 만해야합니까?WF4에서 데이터베이스에 어떻게 액세스합니까?

건배.

답변

1

데이터를 가져올 수있는 방법에는 여러 가지가 있습니다. CodePlex에서 WF ADO.NET Activity Pack CTP 1과 같은 것을 사용할 수는 있지만 작동하지만 팬이라고 말할 수는 없습니다. CodeActivity에서 EF, Hibernate 등을 사용하여 비슷한 것을 할 수 있습니다. 그러나 일반적으로 나는 항상 사람에게 을 나누라고 말합니다.에서 어떻게입니다. 워크 플로는 과 관련이 있어야하며 부분이고 워크 플로 자체의 외부에는이라는 을 유지해야합니다. 즉, 워크 플로 확장과 함께 작동하고 데이터 액세스 코드를 워크 플로 확장에 배치하는 실제 간단한 활동을 만드는 것입니다. 이렇게하면 워크 플로 확장은 다른 데이터 저장소 일 뿐이며 표준 코딩 기술을 사용할 수 있습니다.

+0

네, 전적으로 당신의 의견에 동의하며 저는 또한 관심사를 분리하는 큰 팬입니다! 물론 데이터 저장소가 있습니다. 그러나 WF 활동 내에서 내 데이터 저장소 서비스를 인스턴스화하는 것은 결국 내 EF 컨텍스트를 인스턴스화합니다. 제 질문은 : OK입니다. 또는 일종의 "외부"서비스를 만들어 WF 런타임의 어딘가에 등록해야합니다 (내가 이해하는대로 WF3.5에서해야 함). 내 질문에 기술적 인 부분이 더 많습니다. 그런 다음 위에 분해를 할 수 있습니다. 언급 한 WF 확장 기능은 무엇입니까? –

+1

Wf4 확장은 WF3 런타임 서비스와 동일합니다. WorkflowInvoker/WorkflowApplication Extensions 컬렉션 (또는 WorkflowServiceHost WorkflowExtensions 컬렉션)에 추가하고 context.GetExtension ()을 사용하여 참조를 가져옵니다. – Maurice

관련 문제