Windows Communication Foundation: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Thijs!bot (discussione | contributi)
Nessun oggetto della modifica
Riga 30:
Product GetProductById(string IdProduct);
}
 
Come detto in precedenza, è importante notare l'uso degli attributi.
 
Riga 54 ⟶ 55:
}
}
 
Qui la cosa principale su cui porre attenzione è la possibilità di pubblicare la proprietà Price nonostante questa sia privata. Infatti, quando il client riceverà le informazioni i dati dell'entità Product saranno tre: IdProduct, Name e Price e non Category nonostante sia pubblico. Poiché gli attributi vengono utilizzati dal runtime di WCF per serializzare i dati, questi sono il naturale contenitore di alcune proprietà che permettono di controllare questo processo. Infatti possiamo definire come chiamare l'elemento che contiene la classe o come chiamare i singoli attributi che espongono i valori delle proprietà.
Possono essere definite anche altre proprietà come l'ordine, l'obbligatorietà di un dato e altro ancora.
Riga 67 ⟶ 69:
}
}
 
La parte relativa al codice è finita. Per realizzare un servizio WCF questo è tutto il codice di cui abbiamo bisogno. Come si vede, non c'è alcun riferimento al tipo di tecnologia di trasmissione dati o codice di serializzazione o altro ancora.
Hosting del servizio
Riga 88 ⟶ 91:
serviceHost.Open();
}
 
Una volta avviata l'applicazione questa resterà in ascolto in base alle informazioni specificate nel .config relative all'address, binding e contract.
 
Riga 115 ⟶ 119:
WinFXItalia.Library.Product p = proxy.GetProductById("1");
}
 
Questo snippet illustra come il codice sia in realtà molto banale e simile a quello che si fa ora per i WebService: si crea un'istanza del proxy e si invoca il metodo. Anche per il client, qualunque sia il protocollo, i Behaviours e altro ancora, sarà sempre compito di WCF eseguire la pipeline che porta alle trasformazioni e all'invio fisico del messaggio e viceversa alla ricezione della risposta, ripercorrendo la pipeline al contrario.