Introduzione a .NET RIA Services

8 pagine in totale: <<Indietro 1 2 3 ... 5 6 7 [8]

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.

8 pagine in totale: <<Indietro 1 2 3 ... 5 6 7 [8]

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.

Segnala su:  Facebook  Messenger  Twitter        |

TUTORIALS

Silverlight

.NET Framework

Accesso ai dati

Architettura e design software

Windows Azure

TOP TEN ARTICOLI
ARTICOLI VIA E-EMAIL

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

Iscrivi subito! »»»

MEDIA
IN EVIDENZA
MISC