Controllare il flusso delle operazioni con WCF.

Per definizione, una transazione è composta di piccoli passi. Ad esempio, un acquisto su un sito di ecommerce è composto di diversi passi quali l'immissione di articoli nel carrello, l'immissione dei dati di consegna e di fatturazione e la conferma finale. Tutti questi passi sono consecutivi ed hanno un preciso ordine.
Con WCF si ha la possibilità di stabilire un simil-ordine di esecuzione.

[OperationContract(IsInitiating=true, IsTerminating=false)]
string Inizio();

[OperationContract(IsInitiating=false, IsTerminating=false)]
void InserisciInCarrello();

[OperationContract(IsInitiating=false, IsTerminating=false)]
void inserisciDati();

[OperationContract(IsInitiating=false, IsTerminating=false)]
void Acquista();

[OperationContract(IsInitiating=false, IsTerminating=true)]
void Fine();

Come si vede dall'esempio, si può stabilire un metodo di inizio transazione ed un metodo di fine transazione, che devono essere invocati nell'ordine prestabilito, mentre purtroppo non abbiamo nulla a disposizione per l'ordine dei metodi intermedi. Non è tutto, ma è un inizio.

Ovviamente dall'inizio alla fine, il servizio deve mantenere in memoria i dati dell'utente, e questo è fattibile marcando il servizio anche come contenitore dati.

[ServiceContract(Session=SessionMode.Required)]
public interface IService

WCF... Se non ci fosse... boh...

Stay Tuned...

Nella stessa categoria

Commenti

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


TagCloud
BLOG INFO
  • Post: 126
  • Commenti: 90
  • TrackBacks: 19
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA