asp.net에서 워크 플로를 실행하고 SynchronizationContext를 사용하여 워크 플로에 대한 페이지를 "대기"상태로 만듭니다. 다음은 asp.net에서 워크 플로 인스턴스를 실행하는 방법입니다.WF4의 SynchronizationContext 및 Bookmarks
var workflowApplication = new WorkflowApplication(activity);
SynchronizationContext syncContext = SynchronizationContext.Current;
workflowApplication.Completed = delegate { syncContext.OperationCompleted(); };
workflowApplication.SynchronizationContext = syncContext;
syncContext.OperationStarted();
workflowApplication.Run();
활동 중 하나에서 책갈피를 사용합니다. 이제 CreateBookmark를 호출 할 때마다 페이지 처리가 계속되기를 바란다. 북마크를 설정하기 전에 SynchronizationContext.Current.OperationCompleted()를 호출하려고했으나 워크 플로가 다시 시작되고 완료되면 asp.net 사이트가 파손됩니다 (작업 흐름 인스턴스가 완료되고 오류가 발생하면 다시 OperationCompleted가 호출된다고 생각합니다)
어떻게 할 수 있습니까? Asp.Net, 어떤 아이디어 아래에서 북마크 작업합니까? 이 후라고 대신에 완료되어야
workflowApplication.PersistableIdle = args => {
syncContext.OperationCompleted();
return PersistableIdleAction.None;
};
: 당신이 완성 된 속성을 설정 한 후