WorkflowServiceHost, WorkflowServiceHostFactory 및 WorkflowHostingEndpoint를 사용하여 IIS에서 WF4.5 워크 플로를 호스팅하는 응용 프로그램이 있습니다.WF 4.5 북마크 된 사용자 지정 활동이 지속/언로드되지 않음
워크 플로는 VS 2013에서 .xaml 파일로 정의됩니다. 워크 플로우에는 사용자로부터 입력 데이터를 수신하기위한 커스텀 액티비티가 있습니다. CreateBookmark 및 이력서의 콜백을 사용하여 가져 오기.
내 문제는 다음과 같습니다. 첫 번째 작업이 실행되고 워크 플로 인스턴스가 유휴 상태로 유지되고 언로드됩니다. 첫 번째 책갈피를 다시 시작한 후 두 번째 작업은 워크 플로 인스턴스가 유휴 상태로만 실행되도록 실행합니다. 따라서 첫 번째 활동 만 워크 플로우 인스턴스를 지속 및 언로드합니다.
호스트 구현이 작동하는지 확인하기 위해 지연 작업을 사용했으며 모든 것이 작동합니다.
내 사용자 지정 작업 : 북마크 활동의 결론 (createbookmark/이력서) 더/언로드를 지속없는 인스턴스 후
public sealed class WaitForResponse<TResult> : NativeActivity<TResult>
{
public string ResponseName { get; set; }
protected override bool CanInduceIdle
{
get
{
return true;
}
}
protected override void Execute(NativeActivityContext context)
{
context.CreateBookmark(this.ResponseName, new BookmarkCallback(this.ReceivedResponse));
}
protected void ReceivedResponse(NativeActivityContext context, Bookmark bookmark, object obj)
{
this.Result.Set(context, (TResult)obj);
}
}
IWorkflowCreation client = new ChannelFactory<IWorkflowCreation>(new NetNamedPipeBinding(NetNamedPipeSecurityMode.None), new EndpointAddress("net.pipe://localhost/workflowCreationEndpoint")).CreateChannel();
//create an instance
Guid id = client.Create(null);
// Resume
client.ResumeBookmark(id, "1", "Message 1");
.
즉, 첫 번째 북마크 된 활동 집합 인스턴스 만 언로드됩니다. 그리고 네, TimeToPersist/TimeToUnload를 설정했습니다. 는 완료, 대기, 대기, 대기, 대기, 대기, 재개, 언로드, 유휴, 지속 형 시작을 삭제 : 여기
인스턴스의 추적 상태입니다.문제를 나타내는 샘플 솔루션을 만들었습니다.
누군가가 나를 도울 수 있다면 정말 고맙습니다. 어떤 도움을 주셔서 감사합니다!
도움 주셔서 감사합니다.
내 WorkflowServiceHostFactory 클래스에서 WorkflowIdleBehavior를 통해 workflowIdle을 구성했습니다. 그리고 이것은 첫 번째 활동에는 효과가 있지만 두 번째 인스턴스는 유휴 상태 만 유지합니다. –
게시 한 샘플을 살펴보십시오. –
수정 된 답변을 확인하십시오. 희망이 도움이됩니다. – Joao