Introduzione a .NET RIA Services
di Cristian Civera, in Windows Communication Foundation, 19 maggio 2009
Archiviato in: WCF RIA Services
Condivisione del codice tra client e server
Quanto visto fino ad ora è caratterizzato dal fatto che lato server si definiscono servizi e operazioni sfruttando classi e attributi che il generatore conosce e riproduce poi lato client. Può capitare però che si debba condividere lo stesso codice da entrambi le parti, per esempio per condividere la classe di validazione o una parte di un'entità.
Si ponga di avere una proprietà in sola lettura che restituisce una parte del messaggio e la si voglia riutilizzare anche lato client. Sfruttando le partial class è possibile definire un nuovo file con suffisso .shared.cs/.shared.vb il quale viene automaticamente ricopiato sul progetto client.
public partial class Message { #if !SILVERLIGHT // Evita che JavaScriptSerializer lo serializzi [System.Web.DomainServices.ExcludeAttribute] #endif public string Preview { get { return this.Text.Substring(0, Math.Min(50, this.Text.Length)); } } }
La direttiva di compilazione if unita alla condizione SILVERLIGHT permette di definire una parte di codice che viene compilato nella parte server, ma ignorato su quella client. Nel codice precedente si marca la proprietà con ExcludeAttribute per non serializzare tale valore quando l'entità viene restituita al client.
Conclusioni
Con questo articolo si è visto quali sono gli obiettivi dei .NET RIA Services e come semplificano moltissimo gli scenari in cui client e server siano rispettivamente realizzati in Silverlight e ASP.NET. Sebbene il funzionamento sia molto simile ad ADO.NET Data Services, i .NET RIA Services si astraggono maggiormente dalla fonte dati e permettono un ciclo completo più produttivo che va dalla view del client al DAL del server e al momento non si è al corrente se queste due tecnologie verranno unite.
I .NET RIA Services hanno inoltre la possibilità di gestire riferimenti con altre entità o con altri Domain Service, di gestire gli errori, l'autenticazione e l'autorizzazione in modo più completo ed integrato ad ASP.NET. Un DomainModelProvider e un DomainDataSource permettono inoltre di interrogare un Domain Service anche tramite i Dynamic Data Controls o tramite i controlli di lista di ASP.NET.
Contenuti dell'articolo
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimeti
-
Introduzione a Team Foundation Server 2010
-
Multithreading e parallelismo con il .NET Framework 4.0
-
Le novità nel .NET Framework 4.0 di WPF, WCF e WF
-
Le novità di Visual Basic 2010 e C# 4
-
Mostrare le camere di sorveglianza tramite il .NET Micro Framework
-
La piattaforma Microsoft per il cloud computing: Windows Azure
-
Interoperabilità con WCF: invocare servizi da PHP e Flash
-
Le novità di Windows 7 per gli sviluppatori
-
Le problematiche più comuni di un'architettura M-V-VM con WPF
-
Costruire una chat per Silverlight con il PollingDuplexHttpBinding

Commenti
mi piace
non mi piace
Facebook
Twitter









