[MICROSOFT TECHDAYS-WPC 2008] Libro "Beginning ASP.NET MVC"

Ho già avuto modo di scrivere sull’evento Microsoft TechDays-WPC 2008 che si terrà ad Assago la prossima settimana (sito ufficiale WPC-TechDays 2008), in particolare sul fatto che io sarò presente mercoledì 3 Dicembre nello stand “Ask to The Expert”.

Questa volta però voglio segnalare una iniziativa interessante di Simone Chiaretta – Microsoft MVP: http://blogs.ugidotnet.org/piyo/archive/2008/11/27/ask-the-expert-alla-wpc-e-promozione-libro-beginning-asp.net.aspx

Riassumendo, chiunque sarà presente all’evento potrà presentarsi allo stand ATE per ritirare una card con un numero. L’ultimo giorno dell’evento (cioè giovedì 4 Dicembre) saranno estratti a sorte ben n. 5 copie del nuovo libro “Beginning ASP.NET MVC” scritto da Simone Chiaretta. Chi non potrà essere presente nell’ultima giornata, potrà comunque verificare di essere o meno tra i vincitori consultando il blog dell’autore.

#47: VB.NET – ADO.NET 2.0 – Supporto a Vista 64 bit e Access 2007

Prendendo spunto da una discussione nel forum dedicato a VB & .NET (http://www.visual-basic.it/forum/thread.asp?m=163649) della Community Visual Basic Tips & Tricks (www.visual-basic.it), ma anche da un mio problema personale proprio su questo argomento, ho pensato che fosse opportuno fissare un paio di appunti e di precisazioni, in particolare sull’uso del Provider JET 4.0 per l’accesso ai database in formato Access 2007 e sul problema del sistema operativo Windows Vista a 64 bit.

Partiamo dal caso dei 64 bit. Come molti sapranno, Vista è distribuito in due edizioni: a 32 bit, che è la piattaforma che molti di noi sono abituati ad utilizzare da molto tempo, e a 64 bit. Prossimamente, le nuove versioni di Windows arriveranno esclusivamente a 64 bit e quindi ci dobbiamo abituare a convivere con questa nuova piattaforma, con le sue particolarità.

Il problema deriva dal fatto che Windows Vista a 64 bit non supporta JET 4.0, in quanto questo provider dati è fornito solo a 32 bit.

Le alternative per risolvere questo problema sono sostanzialmente due:

  • evitare di utilizzare Access e orientarsi direttamente all’uso di SQL Server Express, Compact o edizioni superiori (consigliato!);
  • compilare il progetto Visual Basic 2008 o Visual C# 2008 con il solo supporto per la piattaforma x86 (cioè a 32 bit).

Per questa seconda possibilità, dobbiamo eseguire i seguenti passi:

  1. fare click con il pulsante destro del mouse sul nome del progetto e scegliere “Proprietà”;
  2. passare alla scheda “Compilazione”;
  3. fare click sul pulsante “Opzioni di compilazione avanzate”;
  4. nella combo “CPU di destinazione” selezionare “x86”, anziché “AnyCPU”.

A questo punto potremo eseguire l’applicazione anche su Vista a 64 bit, tenendo però conto che la nostra applicazione non sarà compilata a 64 bit ma bensì a 32 bit. Questo potrebbe comportare qualche problema nel futuro, se Microsoft deciderà prima o poi di chiudere il supporto ai 32 bit sui sistemi operativi a 64 bit.

Vediamo ora come si utilizza il provider JET 4.0 per Access: in particolare le stringhe di connessione ai database Access cambiano a seconda che utilizziamo Access 2003 o Access 2007:

' Access 2003:
Dim stringaconn As String = _
    "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & _
    "c:\test\prova2.mdb"

' Access 2007:
Dim stringaconn As String = _
    "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=c:\test\prova2.accdb;" & _
    "Persist Security Info=False;"

Per maggiori dettagli sulle stringhe di connessione di ciascun provider dati (anche non-Access), date un’occhiata al sito www.connectionstrings.com.

Scriviamo quindi il programma finale per inserire un record in una tabella Access (2003 o 2007):

  1. creiamo un nuovo progetto in Visual Basic 2008;
  2. nel form predefinito aggiungiamo due TextBox di nome txtCognome e txtNome, nonché un pulsante per eseguire il frammento di codice;
  3. inserire il seguente codice a livello di form (di nome Form1):
Imports System.Data.OleDb

Public Class Form1
   Private Sub cmdInserisci_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles cmdInserisci.Click

      ' Access 2003:
      'Dim stringaconn As String = _
      '    "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & _
      '    "c:\test\prova2.mdb"

      ' Access 2007:
      Dim stringaconn As String = _
         "Provider=Microsoft.ACE.OLEDB.12.0;" & _
         "Data Source=c:\test\prova2.accdb;" & _
         "Persist Security Info=False;"

      Dim objconn As New OleDbConnection(stringaconn)
      objconn.Open()
      Dim stringasql As String = _
         "Insert into prova2(Cognome,Nome) " & _
         "values(@cognome, @nome)"
      Dim objcomm As New OleDbCommand(stringasql, objconn)
      objconn = New OleDbConnection(stringaconn)
      objconn.Open()
      objcomm = New OleDbCommand(stringasql, objconn)
      objcomm.Parameters.Add(New OleDbParameter("@cognome", _
         Me.txtCognome.Text))
      objcomm.Parameters.Add(New OleDbParameter("@nome", _
         Me.txtNome.Text))
      Try
         Dim righeAggiornate As Integer = objcomm.ExecuteNonQuery
         If righeAggiornate = 1 Then MessageBox.Show("tutto bene")
      Catch ex As Exception
         MessageBox.Show(ex.Message & _
            Environment.NewLine & ex.StackTrace, "Errore")
      Finally
         objconn.Close()
         Me.txtCognome.Text = ""
         Me.txtNome.Text = ""
         Me.txtCognome.Focus()
      End Try
   End Sub
End Class

Naturalmente, per utilizzare alternativamente Access 2003 o Access 2007, è sufficiente commentare/decommentare la definizione della stringa di connessione opportuna.

[VS 2010] Notizie da "TechEd EMEA 2008 Developers"

Il Team di MSDN Italia ha pubblicato in questa pagina una descrizione delle nuove caratteristiche che faranno parte di Visual Studio 2010 e del Framework .NET 4.0.

Tali caratteristiche, che sono state presentate all’evento “TechEd EMEA 2008 Developers”, riguardano essenzialmente:

  • nuove funzionalità di test che permettono la riproduzione di bug che solitamente appaiono solo in determinati contesti
  • nuovo editor del codice, scritto in WPF, con effetti di zoom e di formattazione dei commenti
  • visualizzazione automatica di diagrammi per la rappresentazione delle dipendenze tra gli assembly (Architecture Explorer) e di tipo sequenziale (Sequential Diagram) da UML
  • per il web: supporto a MVC Framework e a Jquery, ASP.NET AJAX 4, supporto allo sviluppo Agile
  • per C++: accesso semplificato alle API di Windows 7, supporto alle CPU multi-core
  • Office Business Application (OBA): semplificazione dell’integrazione con Visual Studio
  • miglioramenti in Visual Studio Team System per la qualità del codice scritto

[VS 2010 CTP] Primo contatto

Come ha segnalato Renato Marzaro nel suo blog (http://community.visual-basic.it/renato/archive/2008/11/03/24090.aspx), è di nuovo possibile scaricare i file che compongono l’immagine per Virtual PC contenente Visual Studio 2010 CTP (Community Technical Preview). La somma dei file è di circa 7 GB, mentre l’immagine virtuale ricomposta è di ben 24 GB (dei quali, nell’hard disk virtuale, circa il 63% sono liberi, cioè 35 GB su 55).

Per ricomporre l’immagine è necessario scaricare tutti e undici i file (un .exe e dieci .rar) in una cartella e poi, con un doppio click sull’eseguibile, apparirà una finestra di selezione della cartella dove vogliamo depositare l’immagine formata dai file .vmc e .vhd, tipici di Virtual PC.

I requisiti di sistema richiesti dall’immagine sono principalmente i seguenti:

  • Processore almeno Core Duo a 2 Ghz
  • Virtual PC 2007 con SP1
  • almeno 2 GB di RAM di sistema, di cui almeno 1 GB da dedicare all’host e almeno 1 GB da dedicare all’istanza di Virtual PC.

Per quanto riguarda la RAM, fate attenzione che la scheda grafica non utilizzi RAM fisica del PC, nel qual caso potreste non riuscire ad avviare l’immagine virtuale per memoria insufficiente.

Una volta collegata l’immagine virtuale alla console di Virtual PC 2007, consiglio di aprire le impostazioni e di attivare l’opzione “Abilita file modifiche disco” presente alla voce “File modifiche disco” in modo da poter lavorare sull’istanza e poter salvare le modifiche o scartarle completamente, nel caso in cui qualcosa dovesse andare male.

Una volta avviata l’istanza, ci troveremo con il messaggio “Press CTRL + ALT + DELETE to log on”. Potete procedere all’invio “virtuale” di tale combinazione di tasti dal menu presente nella finestra dell’istanza di Virtual PC oppure con la combinazione “ALT Gr + CANC”.

Siamo ora davanti alla finestra di inserimento delle credenziali per ben quattro utenti:

  • Administrator (password: P2ssw0rd)
  • TFS Reports (password: 1Reports)
  • TFS Service (password: 1Service)
  • TFS Setup (password: 1Setuptfs)

Potete utilizzare quest’ultimo profilo per esplorare il contenuto della CTP, mentre il profilo Administrator permette di configurare e gestire il server. Perché il server? Semplice: perché l’immagine virtuale contiene un’installazione di Windows Server 2008 Standard e non solo, come vedremo.

Entriamo, appunto, con il profilo “TFS Setup” e per prima cosa veniamo accolti da una pagina contenente la licenza d’uso associata all’istanza e ai vari prodotti ivi installati, che sono veramente tanti:

  • MICROSOFT WINDOWS SERVER 2008, STANDARD
  • MICROSOFT .NET FRAMEWORK 3.5 SP1 FOR MICROSOFT WINDOWS OPERATING SYSTEM
  • MICROSOFT OFFICE 2007 SYSTEM DESKTOP APPLICATION SOFTWARE
  • MICROSOFT WINDOWS MEDIA PLAYER 11
  • MICROSOFT WINDOWS MEDIA ENCODER
  • MICROSOFT VISUAL STUDIO TEAM SYSTEM 2010 COMMUNITY TECHNOLOGY PREVIEW
  • MICROSOFT VISUAL STUDIO TEAM SYSTEM 2010 TEAM FOUNDATON SERVER COMMUNITY TECHNOLOGY PREVIEW
  • MICROSOFT SQL SERVER 2008 ENTERPRISE EDITION
  • MICROSOFT .NET FRAMEWORK 4.0, COMMUNITY TECHNOLOGY PREVIEW

Un’avvertenza: l’istanza è priva di supporto di rete, per cui potrete trovare molti link (sia in VS 2010 CTP, sia altrove) a siti web non funzionanti. Per consultare il contenuto di tali siti, dovrete quindi copiare (se possibile) il collegamento e incollarlo nel browser Internet dell’host.

Altra avvertenza: l’istanza non ha una licenza a tempo indefinito, ma ha una scadenza determinata (se non sbaglio, di 60 giorni).

Ci troviamo quindi con la nostra istanza aperta e il desktop con lo sfondo completamente nero, a parte qualche icona con i link ad alcune risorse che compongono la VS 2010 CTP.

Avviamo ora Visual Studio 2010 CTP: ecco quindi la pagina iniziale (start page) completamente rinnovata (fare click sull’immagine per ingrandirla).

Il messaggio inserito nella parte inferiore della finestra indica che non c’è una connessione attiva per poter leggere l’RSS feed. Anche questa, quindi, è una funzionalità che ancora non possiamo verificare.

Un’ultima nota: l’istanza comprende già l’installazione delle Virtual Machine Additions, quindi è possibile impostare una o più cartelle dell’host condivise dall’immagine virtuale. Questo ci permette di leggere e scrivere, o anche copiare dei file o delle intere cartelle all’interno dell’immagine virtuale, così che possiamo portare dei progetti scritti in Visual Studio 2008 nell’istanza virtuale, da provare con VS 2010 CTP.

Con quest’ultima nota chiudo questo post, con l’intenzione di ritornare sull’argomento per esplorare altre funzionalità di questa nuova versione, tenendo conto che siamo ancora in una fase preliminare e che quindi, in futuro, potranno cambiare ancora molte caratteristiche.