Microsoft에서 Windows Workflow Foundation 4의 워크 플로 프레임 워크를 개정 했으므로이 새로운 프레임 워크에 대한 생각과 경험은 무엇입니까?Workflow Foundation 4에 대한 생각과 경험
내가 지금 몇 달 동안 WF4와 함께 일하고있다, 나는 몇 가지 함정에 실행 한 :
- 워크 플로우 서비스 (Xamlx)과의 인터페이스를 적용 할 수있는 방법은 없습니다.
- 워크 플로에서 통신, 상관 관계, 지속성 또는 처리되지 않은 예외가있는 워크 플로에 오류가 발생하면 추적 로그에서 관련이없는 정보를 알려주므로 잘못 된 사항을 알리는 것이 거의 불가능합니다. 예를 들어, 워크 플로 변수로 Entity Framework 개체가 있고 워크 플로 지속성에 문제가 발생했습니다. 불행하게도, 추적 파일의 오류가 아닌 것이 이것이 문제라는 것을 나타냅니다. 나는 무엇이 잘못되었는지 알아 내기 전에 여러 시간의 시행 착오를 겪었다.
- 제공된 활동 중 일부가 충분하지 않습니다. 예를 들어 동적 엔드 포인트를 지원하도록 보내기 활동을 확장해야했습니다. 불행히도 완전히 동적으로 만들 수는 없었습니다. 예를 들어, 인터페이스 이름은 동적 일 수 없습니다.
- 워크 플로가 너무 커지면 디자이너의 작업 속도가 매우 느려집니다. 크기가 100KB가 넘는 워크 플로 하나가로드하는 데 1 분 이상 걸렸습니다! 그리고이 크기의 워크 플로를 디버깅하는 것을 잊어 버리십시오.
- 오라클에 대한 지속성 공급자가 없습니다.
함정에도 불구하고 나는 데이터베이스에 대한 지속성 기능, 디자이너에서의 활동을 쉽게 할 수 있으며 WCF 서비스를 워크 플로 서비스로 쉽게 설정할 수 있다는 점에 깊은 인상을 받았습니다.
나는 워크 플로 파운데이션을 사용하여 다른 개발자의 경험에 대해 궁금 4.
편집 :
나는 큰 흐름의 매우 느린 디자이너의 문제를 해결할 수 있었다. 외관상으로 디자이너에게 많은 스트레스를주는 해석 할 수없는 수입이 있음이 밝혀졌습니다.
I posted on the MSDN forums about this issue.
업데이트
우리가 생산 실행중인 것을 지금 AppFabric에 직면하고있는 문제의 슬루있다. AppFabric Workflow Services는 현재 사용 준비가되어 있지 않습니다. 나는 새 버전이 공개 될 때까지이 일을 멀리 할 것이다.
또한 Windows 워크 플로 4.5에서 개체 개체 (Entity 프레임 워크) 변수의 지속성 문제가 있습니다. 이 지속성 문제에 대해 어떤 접근 방식을 사용했는지 알려 주실 수 있습니까? –
우리의 접근 방식은 엔티티 객체를 작업 흐름 변수 또는 인수로 사용하지 않는 것이 었습니다. 우리는 항상 그것을 내부 데이터 객체로 변환했습니다. 그러나 엔티티는 변수 또는 인수로 사용할 수 있습니다. 엔티티가 분리되었는지 확인해야합니다. 나는 우리가 DB에서 일부 엔티티를 가져 왔지만 더 이상 존재하지 않는 컨텍스트에 여전히 첨부되어 있다는 것이 문제라고 생각합니다. WF persist에서 엔티티와 엔티티를 직렬화하려했으나 컨텍스트가 더 이상 존재하지 않기 때문에 질의 할 수 없습니다. 엔티티가 워크 플로로 지속되도록하려면 조심해야합니다. – Mas
감사합니다. Mas. 우리는 당신과 비슷한 접근법을 따랐습니다. 우리는 Entity 프레임 워크 객체를 사용하지 않고 대신 사용자 정의 poco 객체를 사용했습니다. –