Silverlight3

There are 15 entries for the tag Silverlight3
Exception propagation in Silverlight3 (revised)

Tempo fa avevo descritto come è possibile propagare le eccezioni da un servizio WCF verso un applicazione Silverlight3. Del procedimento, la parte più noiosa era sicuramente quella necessaria al cambio di HTTP Status Code da 500 a 200, la buona notizia è che grazie alla nuovo Client HTTP Stack presente in Silverlight3 tale cambio non è più necessario, basta infatti aggiungere questa riga allo startup dell’applicazione Silverlight: 1: bool registerResult = WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp); Per sostituire il browser networking stack usato by default col nuovo Client Networking...

posted @ martedì 18 agosto 2009 07:51 | Feedback (1)

Silverlight3 is here!

Nel caso ve lo siate persi, oggi c’è stato l’annuncio ufficiale del rilascio di Silverlight 3.0, personalmente ritengo che da oggi non abbia più senso continuare a lavorare sulla 2.0, non fosse altro per la nuova versione di Expression Blend che, effettivamente, sta diventando un tool serio e a tutti gli effetti e praticamente l’unico strumento visuale, visto che i tools di Silverlight3 cancellano definitivamente Cider da Visual Studio 2008. Dalla versione rilasciata al Mix alla RTM ci sono state parecchie modifiche, dalla eliminazione del controllo <asp:Silverlight> al cambio di filosofia del caching delle assemblies che nella...

posted @ venerdì 10 luglio 2009 22:02 | Feedback (0)

Silverlight 3 launch on July 10th

        A quanto pare il 10 luglio verrà rilasciata la RTM  ci sarà il lancio di Silverlight3 e della nuova suite Expression… Mi hanno fatto notare che “lancio” <> RTM ovvero: il compleanno va festeggiato prima dell’effettiva data di nascita. Technorati Tags: Silverlight3

posted @ giovedì 28 maggio 2009 23:51 | Feedback (0)

Silverlight3: DataForm control

Credo abbiate intuito che Microsoft sta spingendo molto sul presentare Silverlight3 come la piattaforma per lo sviluppo di RIA applications puntando molto sulle LOB (Line Of Business) Applications, i nuovi .NET RIA Services sono solo un esempio in questa direzione. Oltre alla mia feature preferita (ChildWindow) in Silverlight3 sono stati aggiunti una serie di controlli nati con lo scopo di alleggerire la parte più noiosa delle LOB, ovvero la presentazione dei dati e relativa interazione con l’utente, tra questi il controllo DataForm. Supponiamo di avere una classe Person con le...

posted @ venerdì 22 maggio 2009 18:13 | Feedback (1)

Silverlight3: Exception propagation

In Silverlight2, dopo avere creato il nostro bel servizio WCF che genera una serie di eccezioni (ovviamente di tipo FaultException/FaultException<T>) quando c’è qualcosa che non va, è triste scoprire che di queste eccezioni non ce ne facciamo nulla in quanto non verranno mai intercettate dalla nostra applicazione Silverlight per una lunga serie di motivi. Fortunatamente questa è acqua passata in quanto nella versione 3 le eccezioni vengono correttamente gestite dal plug-in a patto che venga iniettato del codice per aggirare il problema principale: Le eccezioni vengono ritornate con un HTTP Response Code=500 e quindi...

posted @ venerdì 22 maggio 2009 17:14 | Feedback (1)

Silverlight3: Increase reader quotas

Nel realizzare un servizio WCF può rendersi necessario incrementare la dimensione massima degli array che vengono scambiati da e verso il servizio, un esempio comune può essere quello di volere passare al servizio un array rappresentante un immagine da memorizzare sul server. Come ho già scritto in precedenza, con Silverlight3 il default binding non è piu basicHttpBinding ma un custom binding che usa BinaryMessageEncoding, per modificare la dimensione massima degli arrays  è quindi necessario aggiungere un elemento ReaderQuotas opportunamente configurato, un esempio di questa configurazione la trovate di seguito: ...

posted @ venerdì 24 aprile 2009 17:24 | Feedback (0)

Silverlight3: Consumare servizi WCF duplex

In Silverlight3 è stato semplificato il meccanismo di fruizione di servizi WCF che usano la modalità duplex, nella Beta1 c’è in realtà ancora parecchio lavoro da fare ma con la RTM il tutto si ridurrà nel aggiungere un riferimento al servizio WCF duplex e gestire l’evento generato quando il servizio ha delle informazioni da comunicare all’applicazione Silverlight. Per darvi un idea, ecco un esempio di servizio WCF che ‘pusha’ dei valori quando questi hanno un valore inferiore ad una soglia prefissata: L’interfaccia del servizio è: ...

posted @ mercoledì 22 aprile 2009 08:03 | Feedback (0)

Silverlight3: WCF Services e BinaryMessageEncoding

Con Silverlight3 arrivano una lunga serie di enhancements anche per la parte webservices, tra questi l’utilizzo del BinaryMessageEncoding in sostituzione del precedente TextMessageEncoding. La nuova modalità diventa il default quando aggiungete al vostro progetto un nuovo Silverlight enabled WCF service e ha lo scopo di di diminuire la dimensione del messaggio aumentando il quindi thoughtput del server. La nuova configurazione del file Web.Config diventa quindi: 1: <bindings> 2: <customBinding> ...

posted @ domenica 19 aprile 2009 18:28 | Feedback (1)

Silverlight3: SaveFileDialog (with surprise…)

Piccolo quiz: Cosa c’è che non va nel codice che vedete qui sotto? (5 secondi per rispondere…) 1: private void Button_Click(object sender, System.Windows.RoutedEventArgs e) 2: { 3: SaveFileDialog sfd = new SaveFileDialog(); 4: sfd.Filter = "All Files (*.*)|*.*|Text Files (*.txt)|*.txt"; 5: sfd.FilterIndex = 2; 6: ...

posted @ domenica 5 aprile 2009 11:27 | Feedback (1)

Silverlight3: IApplicationService

Come forse saprete se avete seguito qualche presentazione al recente Mix09, in SIlverlight3 è stata introdotta una nuova interfaccia IApplicationService che permette la creazione di servizi da far partire allo startup e da stoppare quando l’applicazione sta per terminare, ad esempio perchè l’utente sta navigando verso un altro sito. Per completezza segnalo anche l’interfaccia IApplicationLifeTimeAware che permette l’esecuzione di codice durante altri eventi relativi al ciclo di vita dell’applicazione come Starting,Started,Exiting,Exited… L’uso è molto semplice, c’è però un piccolo bug (ma va? ) percui è necessario associare un x:Name al servizio quando lo si definisce nel...

posted @ domenica 5 aprile 2009 11:07 | Feedback (0)

Silverlight3 Local Connections: Piccolo (ma importante) dettaglio…

Nel mio post sulle Local Connections di Silverlight3 concludevo scrivendo: “nella mia installazione, non sono supportate più istanze dello stesso receiver”. Dopo uno scambio di opinioni con qualche Insider e col team di Silverlight la risposta è stata: “Non è un bug: semplicemente non è possibile avere più istanze dello stesso receiver mentre sono supportate più istanze dello stesso sender.” La limitazione dipende dalla modalità di implementazione delle local connections (named pipes) però questo significa che se avete una pagina con due plug-in che comunicano tra loro via local connections e aprite due istanze...

posted @ sabato 4 aprile 2009 17:59 | Feedback (0)

Silverlight3: Child Windows

Non molto tempo fa avevo mostrato come realizzare un popup modale in Silverlight2, nulla di complicatissimo ma comunque un bel pò di lavoro per visualizzare quello che nei Winforms si fa con una riga di codice. Bene, dimenticatevi tutto perchè in Silverlight3  è tutto molto più semplice grazie alle ChildWindows. Aggiungete ad un progetto Silverlight3 un item Silverlight ChildWindow e disegnatene il contenuto, by default vengono automaticamente inseriti i pulsanti Ok e Cancel, ma potete gestirli come meglio credete. Create da codice un istanza di ChildWindow, invocate il metodo...

posted @ venerdì 3 aprile 2009 16:40 | Feedback (1)

Silverlight3 Local Connections

Questa è probabilmente la feature che più mi intriga di Silverlight3 quando funzionerà a dovere (more later…) In pratica: attraverso le local connections è possibile far comunicare tra loro applicazioni Silverlight senza passare dall’ HTML bridge ma attraverso un semplice meccanismo di publish-subscribe. L’applicazione che vedete nella foto contiene due plug-ins, scrivendo nella texbox in alto il testo viene replicato nella textbox inferiore. L’applicazione Sender non fa altro che creare un istanza di LocalMessageSender indicando il nome associato al LocalMessageReceiver che sarà in grado di ricevere i messaggi inviati sottoforma di stringa (nel mio...

posted @ venerdì 3 aprile 2009 14:17 | Feedback (1)

Silverlight3 - How to enable autoupdate of Out-Of-Browser Applications

Ho letto circa una tonnellata di blogs su quanto sono “fighe” (si può dire?) le Out-Of-Browser Applications di SIlverlight3, e c’è, come sempre, chi si chiede se queste possono sostituire un applicazione WPF. Sicuramente la direzione è quella (“ne rimarrà uno solo”<cit.>) ma i tempi non sono ancora maturi e non lo saranno nel breve, le implicazioni di security sono troppe e le attuali limitazioni fanno si che pensare di sostituire un applicazione full trusted con un applicazione OOB SL3 è semplicemente fuori luogo, semmai concordo che SL, sopratutto nella ultima versione, sta offuscando un area di WPF...

posted @ martedì 31 marzo 2009 00:23 | Feedback (0)

Silverlight3: Databinding bug

Sembra che Silverlight3 abbia qualche problema col databinding…, prendiamo una classe Person che implementa INotifyPropertyChanged e supponiamo di volerne editare le proprietà Name e Age. <StackPanel> <TextBox Text="{Binding Path=Name, Mode=TwoWay}" /> <TextBox Text="{Binding Path=Age, Mode=TwoWay}" /> <TextBlock Text="{Binding Name}" /> </StackPanel> nel costruttore del codebehind, come da...

posted @ sabato 28 marzo 2009 17:35 | Feedback (0)