April 2009 Blog Posts

Faboolous

  Sono abbastanza convinto che una volta rilasciate queste applicazioni, molti di voi accederanno useranno Facebook in modo diverso…         Fonte: Faboolous Technorati Tags: Faboolous,Facebook OpenStreams API

posted @ Tuesday, April 28, 2009 10:20 PM | Feedback (4)

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 @ Friday, April 24, 2009 4:24 PM | 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 @ Wednesday, April 22, 2009 7:03 AM | 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 @ Sunday, April 19, 2009 5:28 PM | Feedback (1)

Entity Framework Designer on Windows7

Se usando il designer di Entity Framework su Windows7 le varie entities spariscono quando le selezionate col mouse, complimenti! siete incappati in un bug di Window7 e l’unica cosa che potete fare è aspettare il 5 Maggio (questa data non mi è nuova… ) e installare la RC di Windows7. More info here: http://stackoverflow.com/questions/474977/visual-studio-2008-on-windows-7-beta/627543 Technorati Tags: Entity Framework,Windows 7

posted @ Sunday, April 19, 2009 8:48 AM | Feedback (2)

M-V-VM Reference Application is starting

Model-View-ViewModel è da sempre un argomento caldo nella lista dei WPF Disciples, da qualche tempo, partendo da un interessantissimo adattamento del pattern Mediator proprio per l’utilizzo in Model-View-ViewModel si è pensato di aggregare i vari building-blocks di M-V-VM  in una piccola reference application o, se preferite, un mini-framework pronto all’uso progettato da chi lo usa quotidianamente da parecchio tempo. Ovviamente lo scopo non è quello di rifare Prism o Caliburn, ma semplicemente di mettere a disposizione del materiale per chi vuole iniziare a sviluppare applicazioni WPF e/o Silverlight basate su M-V-VM. Al momento non...

posted @ Tuesday, April 14, 2009 3:31 PM | Feedback (2)

Blend3 Behaviors trick

Affinchè i vari behaviors appaiono nell’asset library di Blend3 è necessario impostare un riferimento alla/e library che contengono i behaviors che ci interessano. In realtà è possibile averli tutti elencati nell’asset library e usarli direttamente delegando a Blend3 il compito di aggiungere i riferimenti necessari. Per far questo basta copiare le dll contenenti i behaviors in una cartella e aggiungere queste chiavi nel registry. Silverlight HKEY_CURRENT_USER\Software\Microsoft\Expression\Blend\v3.0\Toolbox\Silverlight\v3.0\<your name> WPF HKEY_CURRENT_USER\Software\Microsoft\Expression\Blend\v3.0\Toolbox\WPF\v3.0\<your name> ...

posted @ Saturday, April 11, 2009 2:28 PM | Feedback (0)

Blend3 Behaviors

Devo ammettere che la versione 3 di Blend è veramente, forse dovrei dire “finalmente”, all’altezza della situazione, finalmente ho l’impressione di avere a disposizione un tool che è in grado di valorizzare tutto ciò che la piattaforma (WPF /Silverlight) è in grado di offrire. Tra le novità che trovo più interessanti ci sono sicuramente i behaviors, ovvero la possibilità di rendere “vive” o se preferite “interattive” le user interfaces disegnate con Blend3, il tutto in modo semplice, senza scrivere codice (ok… questo è il segreto di Pulcinella ma tant’è…) ma sopratutto senza “sporcare” l’architettura dell’applicazione con ‘magie varie’...

posted @ Saturday, April 11, 2009 11:35 AM | Feedback (0)

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 @ Sunday, April 5, 2009 10:27 AM | 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 @ Sunday, April 5, 2009 10:07 AM | 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 @ Saturday, April 4, 2009 4:59 PM | 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 @ Friday, April 3, 2009 3:40 PM | 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 @ Friday, April 3, 2009 1:17 PM | Feedback (1)

MeasureString in WPF e Silverlight

A volte può capitare di avere la necessità di dovere misurare le dimensioni di un testo e ritrovarsi orfani di Graphics.MeasureString/TextRenderer.MeasureText dei WinForms può portare a dei momenti di sconforto… L’equivalente WPF è: public Size Measure(string text, double fontSize, string typeFace) { FormattedText ft = new FormattedText(text, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, ...

posted @ Friday, April 3, 2009 8:37 AM | Feedback (0)