2012-07-05 2 views
2

코드화 된 Windows Workflow .Net 4.0.1 자체 호스트 WorkflowServiceHost를 디버깅 할 수 있습니까? 나는 가지고있다디버그 코드 WorkflowServiceHost

<system.web> 
    <compilation debug="true" /> 
</system.web> 

app.config 파일에서 놓았다. 그러나 중단 점을 설정할 때마다 WorkflowServiceHost 개체가 생성 될 때 디버거가 중단되고 개별 워크 플로 인스턴스가 중단 점에 도달하지 않습니다.

"코딩 됨"은 워크 플로가 비주얼 디자이너 대신 C#에서 지정되었음을 의미합니다.

+0

코드 샘플을 게시 할 수 있습니까? –

답변

4

다른 컨테이너에서 호스팅되는 다양한 순서도 및 순차 워크 플로우와 유사한 위치에있었습니다. 워크 플로를 테스트 할 때 Microsoft.Activities.UnitTesting 프레임 워크를 사용하면 훨씬 쉽게 작업 할 수 있다는 것을 알았습니다. 라이브러리는 nuGet 패키지로 제공됩니다. 세부 정보 here

일반적으로 workflowinvoker, workflowservicehost 등에서 실행되는 것처럼 워크 플로를 실행할 수있는 기능을 제공하는 특수한 클래스 인 "테스트 호스트"에서 워크 플로를 실행하는 것이 매우 쉽습니다. 디버깅하고 워크 플로를 추적 할 수 있습니다.

시작하기 쉽습니다. 워크 플로 서비스 호스트 테스트 워크 플로 호스트 워크 플로를 비롯하여 이미 많은 샘플이 제공됩니다.

이 라이브러리를 사용하는 것이 좋습니다. 학습 곡선이 거의 없으므로 워크 플로를 쉽게 테스트 할 수 있습니다.

희망이 도움이됩니다.

하나의 경고가 있지만 사용하려는 경우 .NET Framework 4 플랫폼 업데이트 1이 설치되어 있는지 확인하십시오. 이 업데이트에 대한 자세한 내용은 여기를 참조하십시오. here

+0

감사합니다. WorkflowServiceTestHost가 xamlx 파일뿐 아니라 코딩 된 워크 플로를 처리 할 수 ​​있습니까? – Ben

+1

이론적으로는 코드화 된 워크 플로 및 xamlx 파일을 처리 할 수 ​​있지만 보내기/받기 작업이없는 WF와 작동하게하는 것은 약간 까다 롭습니다. 나는 우리가 최근에 이것을 했으므로 블로그 nikgupta.net에서 실제로 이것에 대해 블로깅을하고있다. 이 답장을 얻으려면 여기 또는 내 블로그에서 도움이 필요하면 그 일을 함께 할 수 있습니다. – Nikhil

+0

WorkflowServiceHosts를 사용하고 있기 때문에 워크 플로에는 보내기/받기 작업이 있습니다. 코딩 된 워크 플로우를 xamlx로 변환하는 방법이 있지만 직접 변환 할 수 없기 때문에 일부 람다를 제거/수정하는 것이 포함됩니다. 기사가 올라 오면 블로그를 읽는 데 관심이 있습니다. – Ben

1

워크 플로 dll이 다른 프로젝트에 있습니까?

MSDN

워크 플로 호스트 응용 프로그램 및 워크 플로우 DLL 예를 들어, 다른 비주얼 스튜디오 프로젝트에있는 경우

, 당신이 워크 플로우 작업 라이브러리를 사용하는 경우, 당신은 워크 플로 DLL 프로젝트로 설정해야합니다 말한다 Visual Studio 솔루션 시작 프로젝트F5를 사용하여 워크 플로를 디버깅합니다. 또한 워크 플로 DLL 프로젝트의 외부 프로그램 시작 속성에서 호스트 응용 프로그램의 경로를 설정해야합니다.

솔루션 탐색기에서 시작 프로젝트를 설정하려면 프로젝트를 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정을 선택하십시오. 외부 프로그램 시작 속성에서 호스트 경로를 설정하려면 솔루션 탐색기에서 워크 플로 프로젝트의 속성 노드를 두 번 클릭하고 디버그 탭을 선택합니다. 시작 작업에서 외부 프로그램 시작을 선택하고 디버그 할 워크 플로를 호스팅하는 .exe 파일의 경로를 입력합니다.

호스트 응용 프로그램이 시작 프로젝트로 설정된 경우 Visual 디버거 용으로 만 Studio 디버거가 호출됩니다. Visual Studio 2010 Windows Workflow Foundation 용 디버거가 호출되지 않습니다. Visual Studio 디버거를 사용하는 경우 C# 또는 Visual Basic 코드 중단 점은 hit입니다. 워크 플로 디자이너에서 설정 한 중단 점은 적중되지 않습니다. 예제의 경우 의 ParallelActivity 활동에 설정 한 중단 점은 Windows 용 Visual Studio 2010 디버거 Workflow Foundation을 사용하지만 Visual Studio 디버거를 사용할 때는 적용되지 않습니다.

도움이되는지 확인하십시오.

+0

아쉽게도 아니요, 응용 프로그램과 정의가 같은 프로젝트에 있습니다. 그리고 저는 WF3의 완전한 리메이크 인 WF4를 사용하고 있습니다. – Ben

관련 문제