gennaio 2009 Blog Posts
Esistono molti strumenti e tecniche per effettuare un integration test di servizi WCF. Un modo che ho trovato molto semplice ed utile si ottiene sruttando il framework di unit testing di Visual Studio: infatti, utilizzando due metodi decorati rispettivamente con ClassInitialize e ClassCleanup possiamo gestire il ciclo di vita di un ServiceHost, evitando così il deploy preventivo (es. Cassini, IIS etc.) del servizio. Nel seguente esempio viene mostrata questa tecnica supponendo di voler testare un servizio di autenticazione AuthenticationService che implementa un service contract IAuthentication, il quale definisce due metodi: Login(…) e Logout(). ...
La comunicazione tra Javascript and Silverlight è una tecnica che spesso rende molto semplice e potente l’introduzione di miglioramenti grafici nonché funzionali in applicazioni web preesistenti. In questo post viene mostrato nello specifico come integrare un password checker realizzato in Silverlight all’interno di un form ASP.NET di partenza, sfruttando javascript come “collante”.
Supponiamo by design che il password checker stabilisca 6 livelli di complessità raggruppabili in tre categorie: “Weak”,”Normal” e “Strong”:
1. Page.xaml
Partiamo dalla definizione del password checker in Silverlight. Gli elementi della UI di tale controllo, come mostrato nella figura sopra riportata, sono costituiti da 6 Rectangle...
Per gli amanti di Flickr segnalo TagGalaxy:
http://www.taggalaxy.com/
Merita veramente :D
Allo stato attuale, Silverlight 2 non possiede un modello di programmazione built-in per gestire il concetto di MasterPage così come avviene in ASP.NET a partire dalla versione 2.0. Ad ogni modo, per ovviare a tale mancanza, l'implementazione di una semplice soluzione custom che simula l'interazione tra una pagina "Master" e più pagine "Content" in Silverlight 2 non è poi così difficile.
L'obiettivo è fondamentalmente quello di definire un PlaceHolder all'interno di una pagina Master (che funge da RootVisual) in cui caricare e visualizzare varie pagine di contenuto. Per ottenere questo risultato vengono dunque definiti due UserControl: MasterPage e ContentPage.
- MasterPage
Supponiamo di definire la master page come un semplice UserControl, avente ad esempio il seguente classico layout:
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
...
Per gli amanti di jQuery ( che proprio ieri ha compiuto il terzo anno di vita :D ) segnalo questo interessante post che mette in evidenza non solo le principali feature della nuova release 1.3, ma soprattutto il lavoro che è stato dedicato al miglioramento delle performance per i browser più utilizzati. Degna di nota è l’introduzione del nuovo API browser disponibile per Safari, Firefox 3 e IE7, scaricabile ed utilizzabile offline come una applicazione Adobe AIR. Technorati Tag: jQuery
L’uso di transazioni nell’ EF alcune volte può richiedere una gestione custom. Sebbene nella maggior parte dei casi è il framework stesso a gestire le transazioni per noi ( es. ogni volta che aggiungiamo/ modifichiamo/eliminiamo un’entity tramite il metodo SaveChanges() ), in alcune situazioni particolari si potrebbe richiedere la gestione dello 'scope' transazionale a mano. Una di queste situazioni si presenta ad esempio quando si lavora con ObjectContext multipli: infatti, in casi di questo tipo si può ricorrere all'utilizzo di un "ambiente" esterno all’EF ( es. System.Transactions ) da cui partire anche per implementare una propria strategia di recovery.
Entriamo nel merito:
Se invochiamo SaveChanges() o SaveChanges(true), l’EF applica i cambiamenti e scarta...
Il WCF REST Starter Kit rende disponibile tra le varie utility anche una semplice soluzione per abilitare il web caching per WCF sfruttando l'interazione con la proprietà HttpResponse.Cache di ASP.NET. La soluzione si basa sull'utilizzo di un attributo WebCache con cui decorare i nostri OperationContract che sono suscettibili a meccanismi di caching secondo una specifica profilatura. L'attributo è definito all'interno della library Microsoft.ServiceModel.Web.dll fornita con il Kit. Vediamo nel dettaglio i vari aspetti di utilizzo aiutandoci con un semplice esempio: la pubblicazione di un feed RSS 2.0 che gestisca un meccanismo di caching web in base al numero di item...