요즘 WWF 에 관심 이 많아 요. 대충 보 세 요.

5696 단어 비교 하 다.
마이크로소프트 가 내 놓 은 워 크 플 로 엔진: 윈도 워 크 플 로 우 포 데 이 션, 간단하게 소개 합 니 다.
다운로드 주소 입 니 다.
http://www.microsoft.com/downloads/thankyou.aspx?familyId=5D61409E-1FA3-48CF-8023-E8F38E709BA6&displayLang=zh-cn
Microsoft. NET Framework 3.0 언어 팩

http://www.microsoft.com/downloads/thankyou.aspx?familyId=41C61D2A-D411-4DDE-9013-BB08EB688BB6&displayLang=zh-cn
Microsoft. NET Framework 3.0 은 구성 요소 패 키 지 를 재발 행 할 수 있 습 니 다.
http://www.microsoft.com/downloads/thankyou.aspx?familyId=10CC340B-F857-4A14-83F5-25634C3BF043&displayLang=zh-cn
이 개발 환경 은 vs 2005 에 설치 해 야 한다.
워 크 플 로 엔진 의 Host 를 선택 할 수 있 습 니 다.
그 가 처리 하 는 것 은 주로 두 가지 작업 흐름 이 있다. 순서 작업 흐름 (
Sequential Workflow) 와 상태 기 워 크 플 로 (
State Machine Workflow ):
A sequential workflow is ideal for operations expressed by a pipeline of steps that execute one after the next until the last activity completes. Sequential workflows, however, are not purely sequential in their execution. They can still receive external events or start parallel tasks, in which case the exact sequence of execution can vary somewhat.
state machine workflow is made up of a set of states, transitions, and actions. One state is denoted as a start state, and then, based on an event, a transition can be made to another state. state machine workflow can have a final state that determines the end of the workflow. 시각 화 된 디자인 인터페이스 가 있 는데 마치 aspx 페이지 를 디자인 하 는 것 과 같 습 니 다.각 활동 (activities) 을 컨트롤 로 끌 어 다 놓 습 니 다.모든 작업 항목 은 하나의 컨트롤 과 같 습 니 다. 그 작업 흐름 은 하나의 창 입 니 다. 예 를 들 어 Message Box. Show. To continue with the Windows Forms analogy, a workflow is like a form, whereas activities are like controls 등 코드 를 직접 쓸 수 있 습 니 다. 이 창 은 xml 형식 으로 저장 할 수 있 지만. cs 파일 은 그대로 입 니 다.이것 은 그 가 실제로 한 것 이다.     this.Activities.Add(this.code1);      this.DynamicUpdateCondition = null;      this.ID = "Workflow1";      FirstName.Direction = System.Workflow.ComponentModel.ParameterDirection.In;      FirstName.Name = "FirstName";      FirstName.Type = typeof(string);터미널 디 버 깅 작업 흐름 을 설정 할 수 있 습 니 다.전달 데이터: 두 가지 방식 으로 Param 과 이벤트 가 있 습 니 다.  。필요 한 Param (일부 공 통 된 속성 으로) 데이터 의 제공 과 처 리 를 스스로 설정 할 수 있 습 니 다. 예 를 들 어 낮은 파 라 메 터 를 내 고 Host 의 시간 을 workflow 에 연결 해 야 합 니 다.다음은 창 (Host) 단추 의 이벤트 처리 코드 입 니 다.            Dictionary
parameters = new Dictionary
();
            parameters.Add("FirstName", txtFirstName.Text);
            parameters.Add("LastName", txtLastName.Text);
            // Start the workflow
            Guid instanceID = Guid.NewGuid();
            _wr.StartWorkflow(workflowType, instanceID, parameters);
프로 세 스 처리 에 있어 기능 이 매우 강해 서 IfElse, while, WaitForData, Suspend, Listen, Delay, EventDriven 등 30 여 가지 디자인 을 할 수 있다.Activity: Public partial class SendMail Activity: System. Workflow. ComponentModel. Activity {개발   public SendMailActivity()   {      InitializeComponent();   }   protected override Status Execute(ActivityExecutionContext context)   {       :    }}상태 기 워 크 플 로 가 번 거 롭 습 니 다. 상태 기 워 크 플 로 를 초기 화 하 는 것 입 니 다: private void Start Workflow Runtime () {   // Create a new Workflow Runtime for this application   _runtime = new WorkflowRuntime();   // Register event handlers for the WorkflowRuntime object   _runtime.WorkflowTerminated += new           EventHandler
(WorkflowRuntime_WorkflowTerminated);
   _runtime.WorkflowCompleted += new
          EventHandler
(WorkflowRuntime_WorkflowCompleted);
    // Create a new instance of the StateMachineTrackingService class 
    _stateMachineTrackingService = new StateMachineTrackingService(_runtime);
    // Start the workflow runtime
    _runtime.StartRuntime();
    // Add a new instance of the OrderService to the runtime
    _orderService = new OrderService();
    _runtime.AddService(_orderService);
}
. net 2.0 에서 EventHandler 는 사실 기능 적 인 확장 을 했 습 니 다. 그 중의 한 단계 입 니 다.
private Guid StartOrderWorkflow(string orderID)
{
// Create a new GUID for the WorkflowInstanceId
Guid instanceID = Guid.NewGuid();
// Load the OrderWorkflows assembly
Assembly asm = Assembly.Load("OrderWorkflows");
// Get a type reference to the OrderWorkflows.Workflow1 class
Type workflowType = asm.GetType("OrderWorkflows.Workflow1");
// Start a new instance of the state machine with state tracking support
StateMachineInstance stateMachine =
_stateMachineTrackingService.RegisterInstance(workflowType, instanceID);
stateMachine.StateChanged += new
EventHandler
   
    (StateMachine_StateChanged); stateMachine.StartWorkflow(); _stateMachineInstances.Add(instanceID.ToString(), stateMachine); // Return the workflow GUID return instanceID; }
   











, biztalk,office
, osworkflow,

좋은 웹페이지 즐겨찾기