Realizzare workflow a stati con Windows Workflow Foundation

5 pagine in totale: <<Indietro 1 2 3 [4] 5 Avanti >>

Avvio del workflow e transizioni di stato

Ora è arrivato il momento di far partire il nostro workflow e scatenare le varie transizioni di stato.
Come per i workflow sequenziali anche per i workflow a stati va prima creata una nuova istanza della classe WorkflowRuntime, che rappresenta il runtime di Workflow Foundation, per qualsiasi tipo di applicazione host che abbiamo deciso di utilizzare (nel nostro caso una console application).

Poi vanno aggiunti i vari tipi di servizi di comunicazione tra host e workflow e, nel caso dei workflow a stati, va aggiunta l'interfaccia di comunicazione al servizio di data exchange.

using(WorkflowRuntime workflowRuntime = new WorkflowRuntime()) {

    //settaggio proprietà del runtime

    ExternalDataExchangeService dataExchange = new ExternalDataExchangeService();
    workflowRuntime.AddService(dataExchange);
    ShoppingCartService shoppingService = new ShoppingCartService();
    dataExchange.AddService(shoppingService);
    workflowRuntime.StartRuntime();

    //creazione della nuova istanza del workflow
}

Una volta che il runtime è stato creato e fatto partire, possiamo creare una nuova istanza del nostro workflow, avviarla e scatenare un primo evento. Gli eventi vengono scatenati dalla nostra classe di servizio, posta nel livello tra l'applicazione e il workflow e sarà il workflow stesso a rispondere a tale evento e modificare il suo stato corrente.

Type t = typeof(ShoppingCartWorkflow.Workflow);
WorkflowInstance instance = workflowRuntime.CreateWorkflow(t);
instance.Start();
ShoppingCartItem maionese = new ShoppingCartItem(Guid.NewGuid());
maionese.Name = "Maionese";
maionese.Price = 1.30;
maionese.Quantity = 1;
shoppingService.InsertItem(instance.InstanceId, maionese);

5 pagine in totale: <<Indietro 1 2 3 [4] 5 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.



TUTORIALS


IN EVIDENZA
MISC