Анализ, изучение старого пространства имен .NET Framework 3.5 System.Workflow.Runtime - PullRequest
0 голосов
/ 14 февраля 2019

На работе у нас есть старое приложение, которое использует код Microsoft .NET Framework 3.5.

Кроме того, оно использует пространство имен .NET Framework 3.5 System.Workflow.Runtime.

  1. В приведенном ниже коде есть пользовательский класс с именем CallWorkflowService, который расширяет System.Workflow.Runtime.Hosting.WorkflowRuntimeService

  2. У нас также есть пользовательский класс с именем CallWorkflowWorkflowLoaderService, который расширяет System.Workflow.Runtime.Hosting.WorkflowLoaderService

  3. У нас также есть собственный класс с именем CustomApp.SequentialWorkflowActivityProcessFund (который представляет собой диаграмму последовательного рабочего процесса), который расширяет System.Workflow.Activities.SequentialWorkflowActivity

    WorkflowRuntime workflow2 = null;
    string e_date = "12/31/2018";
    Console.WriteLine(e_date);
    
    Console.WriteLine("Begin Processing");
    AppGuid = Guid.Empty;
    
    ManualResetEvent waitHandle = new ManualResetEvent(false);
    if (workflow2 == null)
    {
        workflow2 = new WorkflowRuntime("WorkflowRuntime");
    
        workflow2.AddService(new CallWorkflowService());
        workflow2.AddService(new CallWorkflowWorkflowLoaderService());
        workflow2.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) { if (e.WorkflowInstance.InstanceId == AppGuid) Console.WriteLine("Done"); waitHandle.Set(); };
        workflow2.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e) { Console.WriteLine(e.Exception.Message); waitHandle.Set(); };
    
    }
    
    Dictionary<string, object> input = new Dictionary<string, object>();
    input.Add("ClientID", 5);
    input.Add("StartDate", Convert.ToDateTime("12/01/2018"));
    
    input.Add("UserName", "JohnDoe");
    input.Add("ConnectionString", Convert.ToString(connection_string));
    
    input.Add("ForecastApp", false);
    
    WorkflowInstance instance = workflow2.CreateWorkflow(typeof(CustomApp.SequentialWorkflowActivityProcessFund), input);
    AppGuid = instance.InstanceId;
    
    waitHandle.Reset();
    instance.Start();
    waitHandle.WaitOne();
    

Мне трудно найти учебники / руководства для System.Workflow.Runtime в .NET Framework 3.5

Может кто-нибудь помочь мне проанализировать и изучить вышеупомянутый код?

  • Я предполагаю, что System.Workflow.Runtime.WorkflowRuntime "вызывает" System.Workflow.Runtime.WorkflowInstance.Это правильно?

  • Я предполагаю, что System.Workflow.Runtime.WorkflowInstance похож на класс System.Threading.Thread.Это правильно?

  • Может кто-нибудь предоставить ссылки на некоторые интерактивные учебные пособия для пространства имен Old.NET Framework 3.5 System.Workflow.Runtime?

...