gennaio 2009 Blog Posts
Nei vari articoli dedicati agli ADO.NET Data Services, pubblicati su Visual Basic Tips & Tricks, abbiamo visto diverse tipologie di applicazioni client (WPF, Windows Forms, Console) lato Windows. Ma, come sappiamo, le client libraries possono essere anche applicazioni Web e in quest’ottica si inseriscono le applicazioni Silverlight, che possono consumare gli ADO.NET Data Services e fungere da client.
In questo post, quindi, creeremo un client con Silverlight e Visual Basic 2008, prendendo come base il nostro consueto servizio NorthwindService che abbiamo creato nel primo articolo della serie. Probabilmente per alcuni di voi sarà anche...
Giorni fa, parlammo di alcuni problemi nell’utilizzo dei metodi extension nella parte client dello sviluppo con gli ADO.NET Data Services, in particolare dicemmo che alcuni metodi non sono supportati in questa versione di Astoria (più che altro perchè alcuni non sono supportati, alla base, da ADO.NET Entity Framework).
Per esempio, dato il seguente contesto:
Dim NorthwindContext As New NORTHWNDEntities(New Uri("Http://localhost:1273/Northwind.svc"))
Supponiamo di voler ottenere l’istanza del cliente il cui identificativo è ALFKI. Il codice giusto sarebbe il seguente:
Dim AlfkiInstance = NorthwindContext.Customers.Single(Function(cust) cust.CustomerID = "ALFKI")
Oppure potremmo utilizzare la seguente:
Dim AlfkiInstance = NorthwindContext.Customers.First(Function(cust) cust.CustomerID =...
Microsoft ha rilasciato pubblicamente la Release Candidate 1 di Internet Explorer 8. Nelle note ufficiali ci sono un sacco di informazioni sulle novità introdotte e, soprattutto, sui bug fixes apportati dopo il rilascio delle precedenti Beta.
Molto lavoro è stato fatto dal Team di sviluppo a seguito dei feedback ricevuti dagli utenti, lavoro che è stato trasfuso in questa versione del prodotto che, stanti le dichiarazioni del Team stesso, non si discosterà molto da quella che sarà la versione finale. Disponibile in 25 lingue, potete scaricare Internet Explorer 8 RC 1 da questo indirizzo.
A questo indirizzo, invece, troverete l'area MSDN dedicata a questo...
In questo post vi voglio presentare un manuale edito da Microsoft Press, scritto da Bruce Johnson, Peter Mazdiak, Sara Morgan, della collana MCTS Self Paced Training Kit per conseguire la certificazione Microsoft Certified Technology Specialist. Si tratta di un libro in lingua inglese per prepararsi all’esame 70-503 su Windows Communication Foundation il cui titolo completo è: “Microsoft .NET Framework 3.5 – Windows Communication Foundation”.
Sarà che io mi sono sempre trovato bene con i libri di questa collana ma anche questo è un testo veramente ben fatto. Come feci già per WPF, ne...
Microsoft Italia ha appena messo on line il nuovo portale per le risorse video MSDN e TechNet (già BE IT), dove potrete trovare un sacco di materiale formativo interessante, ad esempio i vari webcast sulle più recenti tecnologie passando per le registrazioni delle sessioni tenute nel corso dei tour e degli eventi (come il Launch 2008 e i Microsoft Days 08).
E' molto ben organizzato, suddiviso in base alla propria area di interesse (Developer o IT Pro) ed è possibile fare ricerche, utilizzare tag cloud, scaricare il materiale (slide e codice) ma soprattutto, una cosa che personalmente ho sempre amato, è...
Segnalo che in area Articoli tecnici di Visual Basic Tips & Tricks è disponibile una nuova mini-serie di miei articoli, stavolta inerenti gli ADO.NET Data Services, introdotti da Microsoft .NET Framework 3.5 Service Pack 1, dal punto di vista dello sviluppatore Visual Basic.
Nel primo articolo viene illustrato come creare un servizio, che sfrutta Windows Communication Foundation, basato sugli ADO.NET Data Services per esporre dei dati in rete, mentre nel secondo viene mostrato come creare un bel client in Windows Presentation Foundation per ottenere e inviare i dati al servizio tramite la rete.
Ecco i link:
Introduzione agli ADO.NET Data Services con Visual...
Se avete letto i miei articoli introduttivi agli ADO.NET Data Services in ambito Visual Basic 2008, avete avuto un assaggio della potenza di questa tecnologia per l'esposizione dei dati in rete. Se poi avete pensato di approfondire la questione, sarete senz'altro capitati su questo articolo della MSDN Library che è il punto di partenza per capire il funzionamento dei servizi.
Il codice mostrato nell'articolo è solo C# ma fortunatamente MSDN sta facendo molto anche per gli sviluppatori Visual Basic e quindi, nell'ottica di fornire gli stessi strumenti a entrambe le categorie di developer, è in corso l'aggiornamento dell'articolo (fonte Beth Massi)...
Nel post precedente abbiamo introdotto i Query Interceptors negli ADO.NET Data Services in Visual Basic 2008 e abbiamo visto come siano in grado di intercettare le richieste in lettura ricevute tramite HTTP. In questo post introduciamo i Change Interceptors, che si comportano in modo concettualmente analogo ma sono in grado di intercettare operazioni CRUD sulle entità e consentono allo sviluppatore di agire di conseguenza, sulla base di quale operazione è stata intercettata.
Riprendiamo l’ADO.NET Data Service che avevamo utilizzato proprio nel precedente post (nel quale troverete eventualmente i link per ricostruirlo) e supponiamo di...
Segnalo che in Area Articoli di Visual Basic Tips & Tricks è stato appena pubblicato un mio nuovo articolo relativo agli ADO.NET Data Services con Visual Basic 2008. In questo articolo affrontiamo la tematica delle Service Operations e iniziamo a capire la loro utilità nell'implementazione di una business logic personalizzata, lato server.
L'articolo si trova a questo indirizzo ed è la naturale prosecuzione dei primi due sull'argomento.
Alessandro
In questo periodo, come avrete probabilmente notato se frequentate l’Area Articoli tecnici di Visual Basic Tips & Tricks, mi sto interessando degli ADO.NET Data Services, una tecnologia che ritengo molto valida anche se con qualche limitazione dovuta al fatto di essere una prima versione.
A proposito di limitazioni, è bene sapere che l’utilizzo di metodi extension lato client non è supportato. È infatti possibile utilizzare questi speciali metodi solo all’interno del codice del servizio, ma non nei client, pena il verificarsi di una NotSupportedException.
Mi sono reso conto che c’era qualcosa di troppo strano quando...
Nel terzo articolo dedicato agli ADO.NET Data Services con Visual Basic 2008, pubblicato giorni fa su Visual Basic Tips & Tricks, abbiamo introdotto le service operations e abbiamo visto come il loro scopo sia quello di fornire la possibilità di implementare una business logic personalizzata, lato server.
Ma le service operations non sono l’unica modalità di operare lato server, poichè abbiamo a disposizione un’altra caratteristica che è quella dei Query Interceptors (la libreria MSDN italiana li definisce intercettori).
Come il nome lascia intendere, sono degli speciali metodi che intercettano le richieste di accesso tramite HTTP...
Vi segnalo alcune risorse Microsoft per contrastare le infezioni del worm Win32/Conficker.B, detto anche "Downadup". Questo worm può bloccare gli utenti, il servizio di aggiornamento del sistema e l'accesso a siti che trattano di sicurezza.
Per risolvere il problema, Microsoft ha rilasciato una nuova versione del suo Malicious Software Removal Tool e ha pubblicato uno specifico bollettino sulla sicurezza che potete trovare a questo indirizzo.
I sistemi suscettibili di essere attaccati sono Windows 2000, XP, Vista, Windows Server 2003 e 2008.
Alessandro
Nel forum WPF di Visual Basic Tips & Tricks si è discusso di come assegnare uno stile o un control template a un controllo utente a run-time, utilizzando codice Visual Basic 2008. In effetti spesso siamo abituati a stilizzare i nostri controlli in fase dichiarativa, da codice XAML, ma può capitare la necessità di istanziare e aggiungere controlli all’interfaccia anche in fase di esecuzione.
Ciò premesso, immaginiamo di avere un semplice stile definito nelle risorse della finestra principale:
<Window.Resources>
<Style x:Key="myStyle" TargetType="Button">
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="30"/>
<Setter Property="Margin" Value="5"/>
</Style>
</Window.Resources>
Molto semplice...
Dopo aver risolto un piccolo problemino tecnico, nella neonata Area Screencast di Visual Basic Tips & Tricks abbiamo completato l'upload dei miei video relativi alla serie "ASP.NET Dynamic Data con Visual Basic 2008", costituita da tre screencast già precedentemente erogati tramite il mio blog.
Approfitto per ringraziarvi per l'interesse dimostrato nei confronti dei nostri screencast (il solo primo video sui Dynamic Data ha toccato quota 440 click in una quarantina di giorni) e vi invito a visitare l'area e a farci pervenire i vostri suggerimenti/feedback.
Vi ricordo che i video sono disponibili in Windows Media Streaming e... spero vi siano utili!
Alessandro
Non so se qualcuno di voi è interessato al cloud computing o se ha già provato a utilizzare la prima CTP degli strumenti per Visual Studio 2008 per sviluppare per Microsoft Windows Azure, ma vi segnalo la disponibilità di una nuova CTP (gennaio 2009) degli strumenti e dell'SDK.
A questo indirizzo trovate il post del Cloud Computing Team. Vi ricordo che è necessario registrarsi e (riuscire ad) ottenere un token per la pubblicazione di un'applicazione attraverso i .NET Framework Services & SQL Services per poter utilizzare l'applicazione stessa in un ambito che non sia la macchina locale.
Alessandro
Un problema che può capitare nello sviluppo di applicazioni WPF con Visual Basic 2008 è costituito dall'errato utilizzo della clausola Handles nella gestione degli eventi. In sostanza, se assegno un gestore di evento a un controllo tramite XAML e successivamente specifico una clausola Handles che punta al controllo in questione nel relativo gestore di evento, otterrò, come risultato, che l'evento viene gestito due volte con conseguenze a volte poco piacevoli.
Consideriamo il seguente XAML, relativo alla definizione di un pulsante:
<Button Width="100" Height="30" Name="Button1" Click="Button1_Click" />
Come potete vedere, ho specificato un gestore di evento. Supponiamo di...
In un vecchio articolo presente in VB T&T, vedemmo come creare un Notepad con Windows Presentation Foundation & Visual Basic 2008, introducendo il discorso degli Application Commands. Dicemmo che si tratta di comandi predefiniti che possono essere associati ai controlli dell’applicazione per eseguire operazioni “classiche” nelle applicazioni, come, per esempio, i Taglia/Copia/Incolla o Salva/Stampa.
Il tutto viene gestito da WPF attraverso l’infrastruttura dei CommandBindings, che offrono un approccio diverso della gestione dei comandi nelle applicazioni, soprattutto perchè siamo abituati a fare la considerazione: comando (menu/pulsante) -> evento Click -> esecuzione di un’azione. Tramite i...
Come probabilmente sapete, nelle soluzioni create coi Visual Studio Tools for Office è possibile utilizzare controlli utente WPF ricorrendo all'interoperabilità con Windows Forms, ospitando i controlli WPF all'interno di ElementHost e di questo impostare la proprietà Child che punta al controllo WPF desiderato. Ne parlammo un po' di tempo fa in questo vecchio post.
Ovviamente non siamo limitati all'aggiunta dei soli controlli esposti dalla libreria di classi base. Infatti è possibile aggiungere alle soluzioni VSTO anche controlli utente WPF personalizzati ed è ciò che vedremo in questo post. Possiamo, per esempio, creare una soluzione per la realizzazione di un add-in...
Il Team di Windows Presentation Foundation SDK ha realizzato e pubblicato un'applicazione WPF per la manipolazione di fotografie, chiamata Microsoft photoSuru, che è possibile installare come applicazione stand-alone e della quale è anche possibile ottenere il codice sorgente.
Uno screen shot per darvi un'idea:
Io l'ho installata e provata, è molto bella.. molto WPF direi :-) Soprattutto gli effetti che si possono utilizzare, transizioni, shader.. l'utilizzo degli stili per ottenere effetti speciali nell'interfaccia sono davvero entusiasmanti.
Due note: il codice sorgente è solo C# (ma ne vale davvero la pena provare a scrutarlo) e non è semplicissimo, ma visto il livello dell'applicazione è...
Visual Basic 2008 Express Edition, si sa, ha alcune normali limitazioni. Una di queste riguarda la selezione, già al momento della creazione del progetto, di versioni precedenti del .NET Framework come target. Tuttavia, probabilmente sapete che è possibile specificare il runtime desiderato andando in My Project -> scheda Compile -> Advanced compile options, dove è possibile selezionare il runtime target da un'apposita casella combinata.
Ora, immaginate di creare un progetto in Visual Basic 2008 Express che debba girare su .NET 2.0 utilizzando la procedura sopra descritta, che escluderà dal progetto i riferimenti agli assembly System.Core.dll, System.Xml.Linq.dll e...
Giusto per rimanere in tema di nuovi rilasci, è ora disponibile anche la nuova versione di applicazioni e servizi della piattaforma Windows Live, la 2009. Da notare che lo spazio disponibile su Windows Live SkyDrive per l'archiviazione dei propri file è ora di 25 giga, ci sono versioni rinnovate delle varie applicazioni (come Live Messenger e Live Mail), viene data la possibilità di installare un add-in per pubblicare i propri documenti su Office Live Workspace.
Inoltre, se siete utenti di Facebook sappiate che è in arrivo una sorta di integrazione tra Windows Live e il noto sito di social networking: tra poco tempo...
E' fresca fresca la notizia della disponibilità per il download della prima Beta "ufficiale" di Microsoft Windows 7, il prossimo sistema operativo di casa Microsoft. Attualmente il download è accessibile agli abbonati MSDN e TechNet Plus, ma a quanto sempra entro brevissimo tempo (si parla addirittura di stasera) dovrebbe essere accessibile come download pubblico, insieme a Windows Server 2008 R2.
Tutti i dettagli nel post di Renato Francesco Giorgini sul blog di TechNet Italia. Buon download! ;-)
Alessandro
Piccola premessa: ben accetti consigli al termine del post soprattutto da chi ha esperienze pratiche con Entity Framework (Davide, Andrea, Corrado, Andrea due, Stefano se passate di qua date un’occhiata!). Sicuramente in questo post troverete cose che da altre parti, anche autorevoli, non sono state dette e non so perchè.
Nel mio libro su LINQ in Visual Basic 2008, ho trattato in modo abbastanza completo LINQ-to-SQL mentre nel capitolo dedicato ad ADO.NET Entity Framework e LINQ to Entities ho preferito fare un’overview introduttiva del discorso con esempi ridotti, poiché, al momento della scrittura del...
In questi giorni, nei forum di Visual Basic Tips & Tricks si è discusso su come sia possibile stabilire, in Windows Presentation Foundation, le dimensioni di un controllo utente a partire dalle dimensioni di un altro controllo, sfruttando il data-binding nel codice XAML.
In particolare, la richiesta riguardava la possibilità di assegnare dinamicamente la larghezza di una ProgressBar a partire dalla larghezza di una Label, in modo che entrambe siano di eguale larghezza.
In questo post, quindi, voglio più che altro descrivere la soluzione che ho proposto con l'aggiunta di una riga di codice VB per dimostrare che l'aggiornamento delle dimensioni avviene...
Nella mini serie di miei articoli introduttivi agli ADO.NET Data Services (servizi WCF REST enabled per l’esposizione di dati in rete attraverso ADO.NET Entity Framework) con Microsoft Visual Basic 2008, pubblicati su Visual Basic Tips & Tricks, abbiamo visto come creare e consumare i servizi utilizzando un’edizione molto completa di Visual Studio 2008 e abbiamo detto che, per lo scopo, è possibile utilizzare anche le edizioni Express di Visual Studio. Tuttavia, per motivi di spazio, non è stato possibile proporre anche questo scenario, che affrontiamo in questo post.
Ovviamente, è necessario aver scaricato...
Probabilmente non tutti sanno che i controlli TextBox e RichTextBox di Windows Presentation Foundation supportano il controllo ortografico delle parole digitate, con tanto di menu contestuale che propone le alternative possibili, un po' come funziona in Microsoft Word.
Bello vero? senza dubbio, solo che, come al solito, la lingua italiana è bistrattata e non è supportata... lo spell check, infatti, si applica solo a inglese, tedesco, francese e spagnolo.
In ogni caso, lo spell check si abilita impostando l'attached property SpellCheck.IsEnabled come True come nella seguente riga:
<RichTextBox Name="Rtb1" SpellCheck.IsEnabled="True"/>
e questo è sufficiente per ottenere...
Le intense nevicate di questo periodo non hanno interessato solo l'Italia, ma anche il Campus di Microsoft negli States e Lisa ha immortalato una simpatica scena che ha intitolato "Visual Studio 2008 Snow Edition" e che potete visualizzare facendo clic qui.
Il suo post è di parecchi giorni fa, ma ho aspettato a segnalarlo perchè ora è stato reso disponibile per il download anche il wallpaper per il proprio desktop, i cui link sono nel post sopra indicato :-)
Alessandro