Могу ли я запустить WCF Workflow Service, используя класс WorkflowApplication? - PullRequest
0 голосов
/ 05 января 2012

Мне интересно, можно ли загрузить рабочий процесс xamlx wcf из файла и запустить его с помощью WorkflowApplication?

Желаемый результат:

        using (Stream xaml = File.OpenRead("Service1.xamlx"))
        {
            activity = ActivityXamlServices.Load(xaml);
        }
        var workflowApplication = new WorkflowApplication(activity);
        workflowApplication.Run();

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Извлеките Root WorkflowService и запустите его на wfApp

var svc = (WorkflowService)XamlServices.Load("c:\\path\\Service1.xamlx");
WorkflowApplication wfApp = new WorkflowApplication(svc.Body);
wfApp.Run();

Все еще не понимает причину запуска WorkflowService в приложении WorkflowApplication. Имейте в виду, что обратное действие (запуск рабочего процесса с действием получения в качестве WorkflowService) полностью допустимо.

0 голосов
/ 09 января 2012

WorkflowApplication не было создано для предоставления конечных точек.Вместо этого используйте WorkflowServiceHost

WorkflowServiceHost host = new WorkflowServiceHost(activityLoadedFromXaml, baseAddress);
host.Description.Behaviors.Add(new System.ServiceModel.Description.ServiceMetadataBehavior() { HttpGetEnabled = true });
host.AddDefaultEndpoints();

host.Open();
...