The Dark Side of .NET

Il lato oscuro della forza!
Azure blob storage e pdf

Probabilmente se usate i blob storage di azure ma non usate chrome non vi siete mai accorti che caricando un pdf nel blob, chrome poi non ve lo scarica linkandolo. Questo perchè probabilmente non avete impostato il content type delle proprietà del blob quando avete caricato il file:

blockBlob.Properties.ContentType = "application/pdf";

Spero vi sia utile.

--Michele

Il mio intervento a Codemotion

Per chi se lo fosse perso hanno pubblicato il video della mia sessione al Codemotion di Roma sullo sviluppo di applicazioni web mobile Html5, Asp.Net MVC 4 e jQuery Mobile:

http://www.youtube.com/watch?v=V2Es2rH0vu0
-- Michele
Caricare le dipendenze non presenti su Azure WebSites

Se vi dovesse capitare di non ritrovarvi qualche dll una volta deployato il vostro sito su Azure Web Sites, ad esempio perchè alcune librerie installate in GAC non vengono incluse nella cartella bin della vostra web application, potete forzare la copia della libreria semplicemente dalle proprietà della referenza:

image

Spero vi torni utile!

--Michele

Azure web sites e file SVG

Se anche voi utilizzate gli azure web sites e vi capita di avere qualche cliente che ama gli SVG (si capisce che a me non piacciono?), ricordatevi di aggiungere al web.config, o ad una sua trasformazione per il deploy sul cloud, la seguente riga nella sezione <system.webServer>:

<staticContent>
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>

Che non fa altro che aggiungere i file con estensione .svg ai mime type validi, cosa che avreste fatto normalmente dal pannello di IIS.

--Michele

 
 
jQuery validation e chiamate Ajax

Se vi capita di caricare delle partial view di Asp.Net MVC usando una delle chiamate ajax di jQuery e se la partial view in questione è una form su cui volete utilizzare la validazione lato client sfruttando la libreria jQuery unobtrusive validation (fornita con il template di mvc), dovete ricordarvi che al momento del caricamento dei js necessari la form non esiste ancora (la caricate tramite ajax…), quindi avete bisogno di dire a jQuery validate di parsare la form:

 $(function () {
        $.validator.unobtrusive.parse("#form-id");
});

Se poi anzichè una classica submit con un input type submit, fate il submit da javascript (perchè ad esempio avere un link o un div che vi fanno da pulsanti di invio), allora il codice diventa:

 $(function () {
        $.validator.unobtrusive.parse("#form-id");

        $('#submit').click(function (e) {
            if ($("#form-id").valid()) {
                $("#form-id").submit();
            }
        });
    });

Un grazie al mio caro amico Alessandro Mostarda, con cui mi confronto spesso sui piccoli e grandi problemi della vita quotidiana da sviluppatore web. Spero vi sia utile!

--Michele

Posted: 15 apr 2013 13:17 da Michele Aponte | con no comments
Inserito sotto:
Asp.Net MVC e Display Modes: piccolo tip

Se in asp.net MVC avete bisogno di sapere da codice qual’è la display mode corrente potete usare questo pezzettino di codice:

string currentDisplayMode = DisplayModeProvider.Instance.Modes
                 .Where(m => m.CanHandleContext(
                         new HttpContextWrapper(HttpContext.Current)))
                 .Select(m => m.DisplayModeId).FirstOrDefault();

Magari vi viene utile. Smile

--Michele

Privacy Policy Apps windows 8
Le mie app effettuano l'accesso a siti esterni, consumandone contenuti. Le immagini e le informazioni sono prelevate da feed disponibili al pubblico gratuitamente. Non conservo, nè trasmetto informazioni ai server (a titolo di esempio: indirizzi...
Anno nuovo, vita nuova! E ancora MVP!

Ho aspettato qualche giorno per l’ormai usuale post di ringraziamento del rinnovo dell’MVP Award, che come per i precedenti due mi ha dato la carica  giusta per cominciare il nuovo anno. Ringrazio di cuore Alessandro Teglia, Lorenzo Barbieri, Pietro Brambati, Vito Flavio Lorusso e tutti i componenti del team di Microsoft che si occupano delle community: siete persone davvero speciali!

mvp_horizontal_fullcolor

Un grazie di cuore anche ai vari rappresentanti delle community italiane, in particolare a Massimo Bonanni, Nicolò Carandini, Gian Maria Ricci, Alessandro Scardova, Fabio Cozzolino e Roberto Freato,  che sono il mio principale giornaliero riferimento ed esempio dello spirito di community che ci fa fare con grande gioia tutto il necessario per portare avanti queste splendide iniziative che sono le community locali Microsoft.

Un grazie di cuore va anche a tutto il team di DotNetCampania, un gruppo davvero fantastico, che mi permette ogni anno di ricevere questo splendido riconoscimento, che è di tutti loro e non solo mio.

Un doppio grazie di cuore anche allo splendido team di Crionet, in particolare a Giorgio Garcia-Agreda, che come un fratello maggiore è sempre pronto a regalarmi la sua esperienza sia nella vita privata che professionale.

Il titolo parla di vita nuova per quest’anno e molti di voi sanno anche il perchè. Il 2 Gennaio ho lasciato la Bc Soft Srl per inseguire un nuovo sogno iniziando una nuova avventuta: aprire un’azienda tutta mia, insieme a un carissimo amico di sempre, Carmine Alfano, per realizzare una serie di progetti che meditiamo da tempo.

blexin

L’azienda si chiamerà Blexin e si costituirà ufficialmente nei prossimi giorni, anche se siamo a lavoro già da un bel po’ di tempo. Ci occuperemo di consulenza, sviluppo e formazione nell’ambito informatico, sarà presto on line il sito con tutti i dettagli.

Sono sicuro che sarà un 2013 davvero interessante, personalmente, professionalmente e come community.

Buon anno a tutti.

--Michele

Posted: 5 gen 2013 12:53 da Michele Aponte | con no comments
Inserito sotto:
Visual Studio 2012 Day: tutto pronto!

Ormai penso che lo sappiate tutti, domani ci vediamo all’Holiday Inn del Centro Direzionale di Napoli per guardare insieme le novità di Visual Studio 2012 da diversi punti di vista: vedremo le novità per lo sviluppo web, per Sharepoint, per Windows 8, per Windows Phone e per quello che ci chiederete.

Visual Studio 2012 Day

E’ un momento importante per una community come la nostra, le novità sono tante, la nostra produttività quotidiana ne risentirà pesantemente e se avete ancora qualche dubbio saremo felici di raccontarvi la nostra esperienza. Personalmente uso Visual Studio 2012 sin dalle prime versioni rilasciate e non tornei indietro. Volete sapere perchè? Ci vediamo domani alle 9.30 al Centro Direzionale, se non vi siete ancora registrati potete farlo qui:

>> REGISTRATI <<

Potete consultare il programma completo qui: http://dotnetcampania.org/content/VisualStudio2012Day.aspx

Vi aspettiamo

--Michele

Posted: 6 dic 2012 14:02 da Michele Aponte | con no comments
Inserito sotto:
Dev Camp(s) Napoli: un successone!

Dopo 3 anni di eventi ci eravamo abituati a un drop di presenze rispetto alle iscrizioni di circa il 50%. Un dato così consolidato che proporzionavamo tutto a quel numero, in modo da non sprecare risorse dell’associazione. Per una volta la matematica ci ha traditi e con grande piacere abbiamo dovuto prendere al volo una seconda sala per contenere tutte le persone intervenute al Dev Camp di Napoli lo scorso venerdì! Che dire… Grazie di cuore a tutti i partecipanti, non mi stancherò mai di ripeterlo: la community siete voi! Noi ci limitiamo a organizzare la logistica Open-mouthed smile.Ma andiamo con ordine, in modo da poter ringraziare per bene tutti i contributors di questa fantastica giornata.

Anche se non tutti lo sanno l’evento è cominciato giovedi sera con l’arrivo dei nostri supereroi: Lorenzo Barbieri, Massimo Bonanni, Nicolo Carandini e Vito Flavio Lorusso, in rigoroso ordine alfabetico (per nome). Chiaramente non si può passare per Napoli senza andare ad onorare il panuozzo gragnanese e un mitico personaggio che si aggira tra quelle strade, il grande Dovellonsky.

2012-10-18 21.11.57 2012-10-18 21.12.00
2012-10-18 21.12.25 2012-10-18 21.15.10
2012-10-18 21.15.04 2012-10-18 21.36.52
2012-10-18 21.34.13 2012-10-18 21.34.18
2012-10-18 22.22.54 2012-10-18 22.50.46

Con noi c’era anche il buon Mario Saccoia e Marco Dal Pino, che come potete vedere hanno contribuito a consumare i forti contenuti tecnici della serata. Serata che poi è continuata in altri luoghi ma l’NDA sottoscritto con i partecipanti mi impedisce di divulgare informazioni (andate sul mio profilo facebook…).

Venerdi mattina, come al solito prepariamo la sala e verifichiamo che tutto sia pronto, con le nostre fantastiche ragazze che accolgono i partecipanti che, pian piano, diventano sempre più numerosi, fino a costringerci, con grande piacere, a chiedere all’albergo una seconda sala per contenere gli ospiti:

2012-10-19 10.01.18

Appena possibile pubblicherò le foto fatte con la reflex (il mio XPS13 non ha il lettore di SD) per darvi un’idea del pienone. Tutti insieme, con molti in piedi, abbiamo seguito le sessioni introduttive di Lorenzo e Vito, poi ci siamo divisi nelle due sale, portando i partecipanti interessati ad Azure nella seconda sala. L’interesse per Windows 8, Windows Phone e Azure era altissimo, e ringrazio davvero di cuore Massimo e Nicolò per esserci stati, senza di loro non avremmo potuto fornire a tutti il supporto necessario ad affrontare i lab. Anche gli evangelist hanno avuto il loro bel da fare, quindi a fine lab mi è sembrato giusto rimetterci in forze:

2012-10-19 14.38.50

Dopo pranzo (cominciato alle 14.15) ci siamo dedicati alle sessione tecniche su Visual Studio 2012 per gli sviluppatori web (io), TFS (Antonio Liccardi) e Ligthswitch (Mauro Ghiani), a breve posterò foto e slide (i video sono riservati ai soci).

Un giornata davvero bella sotto tanti punti di vista: partecipazione, voglia di capire le tecnologie presentate, grande curiosità verso Azure (finalmente!!!! Grazie al mitico Vito per le puntuali risposte alle tantissime domande), e tanta tanta passione.

Grazie di cuore a tutti i partecipanti, agli speaker, ad Antonio (che oltre a tenere una interessantissima sessione su TFS ha gestito egregiamente la logistica dell’evento prima, durante e dopo) e un grazie di cuore anche a tutti i soci intervenuti. Siete stati davvero grandi. Tutti.

-- Michele

Posted: 22 ott 2012 12:13 da Michele Aponte | con no comments
Inserito sotto:
Tutto pronto per i DEV CAMPS di Napoli

Ormai ci siamo, mancano solo due giorni a questo primo evento pubblico dopo le vacanze estive. L’appuntamento è venerdi 19 Ottobre 2012 alle ore 9.30 all’Holiday Inn di Napoli, sito al Centro Direzionale, Isola E6. Se nulla cambia la sala è AZALEA, quindi non al centro congressi esterno (come l’ultima volta) ma alle sale interne.

Tutte le info sono qui: http://dotnetcampania.org/content/DevCamp2012.aspx

Eravamo andati in sold-out molto velocemente, quindi abbiamo allargato il numero di posti disponibili, se vi affrettate trovate ancora qualche posto libero.

La giornata prevede la mattina lab su Windows 8, Windows Azure e Windows Phone, il pomeriggio invece presenteremo 3 sessioni di 50 minuti sulle novità di Visual Studio 2012. Per l’occasione abbiamo con noi Lorenzo Barbieri (Microsoft Evengelist su Windows 8 e Windows Phone, nonchè responsabile del programma community di Microsot) e Vito Flavio Lorusso (Microsoft Evengelist sulla piattaforma Windows Azure). Abbiamo il piacere di avere con noi due illustri esponenti della community di Roma, DomusDotNet: Massimo Bonanni (MVP su Visual Basic e attuale presidente di DomusDotNet) e Nicolò Carandini (MVP su C#). Insieme a loro i membri del team di DotNetCampania saranno presenti per aiutarvi ad affrontare i lab, rispondere alle vostre domande e chiacchierare su tecnologia, business e tutto quello che da sempre ci appassiona.

Per i lab ricordatevi di configurare il tutto prima di arrivare (trovate tutte le indicazioni sul sito), per il pomeriggio invece portate pure le vostre domande sui nuovi strumenti di sviluppo e saremo felici di rispondere.

Vi aspettiamo, non mancate!

-- Michele.

Posted: 17 ott 2012 14:55 da Michele Aponte | con no comments
Inserito sotto:
Convention over Configuration e la vita torna a sorriderti!

Dopo il bellissimo evento di Roma (ALM@Work) ho avuto modo di passare la giornata e la notte con il mitico Gian Maria Ricci, e come al solito parlando, condividendo esperienze, ci si migliora sempre. Infatti parlando dell’uso di IoC container è uscito fuori che il sottoscritto usa “ancora” la configurazione XML, aggiungendo un blocco al web.config per risolvere le dipendenze delle web application. A tal scopo io che uso Unity, a fronte delle tante righe di configurazione nel blocco unity del web config, aggiungevo nel Gloabal.asax il seguente pezzo di codice:

UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
section.Configure(container, "nome blocco");
MvcUnityDependencyResolver mvcResolver = new MvcUnityDependencyResolver(container);
DependencyResolver.SetResolver(mvcResolver);

Riflettendoci bene, ognuno di noi ha le proprie convenzioni nello segliere i nomi delle interfacce e delle implementazioni, nel mio caso ad esempio i nomi delle classi che implementano le mie dipendenze hanno lo stesso nome delle interfacce a meno della lettera iniziale “I”, ad esempio a IHomeControllerWorkerServices corrisponde l’implementazione HomeControllerWorkerServices. Quindi in realtà tutta quella difficilmente manutenibile configurazione XML può essere eliminata completamente tenendo presente questa regola. Prima di scrivere codice per risolvere i nomi secondo la mia convenzione, ho cercato su nuget qualcosa di già pronto e ho trovato la libreria UnityConfiguration, che fa esattamente quello che mi serve e molto di più. Quindi elimino il blocco unity dal web.config e modifico la riga Configure in questo modo:

IUnityContainer container = new UnityContainer();
container.Configure(x => x.Scan(scan => 
{
    scan.Assembly(Assembly.GetExecutingAssembly().FullName);
    scan.WithNamingConvention();
}));
MvcUnityDependencyResolver mvcResolver = new MvcUnityDependencyResolver(container);
DependencyResolver.SetResolver(mvcResolver);

Semplicemente ho configurato lo scanner di UnityConfiguration in modo che cerchi nell’assembly corrente tutte le dipendenze e le risolva con la NamingConvention, che corrisponde propria alla mia!!! La libreria è molto flessibile, potete dirgli dove e come cercare e risolvere le dipendenze, ed è estramemente customizzabile. Vi lascio il link:

https://github.com/thedersen/UnityConfiguration

http://nuget.org/packages/UnityConfiguration

-- Michele.

Posted: 1 ott 2012 18:13 da Michele Aponte | con 1 comment(s)
Inserito sotto:
Creare un web server su azure - Seconda Parte

Ci eravamo lasciati con il completamento della creazione della nostra macchina virtuale, possiamo quindi collegarci in desktop remoto al nostro server per configurarlo opportunamente. Il modo più veloce è sicuamente cliccare sul pulsante CONNECT offerto dal pannello di amministrazione di Azure, che apparirà insieme alle altre opzioni disponibili selezionando la macchina virtuale appena creata. Il browser ci chiederà cosa fare con il file .rdp collegato al pulsante CONNECT, scegliamo Open e si avvierà il programma di desktop remoto opportunamente configurato, digitiamo la password di amministrazione scelta durante la configurazione del server e confermiamo cliccando sul pulsante OK:

image

La macchina virtule avvierà l’autenticazione dell’utente mostrandoci alla fine dello startup del profilo Administrator il nuovo Server Manager di Windows Server 2012. Clicchiamo su Add roles and feature attendendo il caricamento del wizard di configurazione dei ruoli e delle caratteristiche che vogliamo installare sul nostro server:

image

Il wizard di configurazione è molto intuitivo, cliccate Next sul primo step di benvenuto, come tipo di installazione scegliete Role based, selezionate l’unico server configurato e scegliete come ruoli Application Server e Web Server (IIS). Quest’ultimo porta con se alcune features che vi saranno indicate in una popup, accettate di installarle e sulla successiva pagina delle feature aggiungete anche il framework 3.5:

image

Il wizard a questo punto si arricchisce delle voci selezionate per ulteriori opzioni di configurazione, verificate che sia selezionao .NET Framework 4.5 e selezionate Web Server (IIS) Support. Una popup vi mostrerà i prerequisiti per le scelte fatte che accetterete cliccando su Add Feature. Vi verranno infine riepilogate le feature selezionate, se ci sono altri componenti che vi interessano questo è il momento di selezionarli. Un riepilogo finale vi ripropone le scelte effettuate che confermerete cliccando sul pulsante Install:

image

Dopo qualche minuto una pagina di conferma vi avviserà della corretta installazione dei componenti selezionati. Possiamo passare ad installare i componenti per il web deploy utilizzando la web platform, un’applicazione gratuita che vi permette di installare facilmente sulla vostra macchina tutto il necessario per lo sviluppo e la configurazione del vostro ambiente web. Apriamo quindi Internet Explorer e andiamo all’indirizzo http://www.microsoft.com/web . Di default su Windows Server è disabilitato il download dei file da internet, clicchiamo quindi sul pulsante delle impostazioni (la ruota dentata), selezioniamo dal menu la voce Internet options, scegliato dalla finestra di dialogo che compare il tab Security, selezioniamo la zona Internet e clicchiamo sul pulsante Custom level. Nella finestra di dialogo che compare, Secure Settings, cerchiamo la sezione Downloads e clicchiamo sull’opzione Enable, confermando tutto cliccando sul pulsante Ok in entrambe le finestre di dialogo:

image

Clicchiamo a questo punto su Free Download nella pagina web, autorizziamo l’esecuzione dell’eseguibile collegato e attendiamo l’esecuzione della web platform. Una volta avviata digitiamo nella casella di ricerca “web deploy” e dai risultati clicchiamo sui pulsanti Add in corrispondenza delle voci Web Deploy 3.0 without bundled SQL support (latest), Web Deploy 3.0 e Web Deploy 3.0 for Hosting Servers e confermiamo le scelte con il pulsante Install:

image

Accettate le condizioni di installazione e attendete il download e l’installazione dei componenti selezionati. Al termine di questa operazione avviate la console di IIS:

image

Espandete il ramo del server, espandete il ramo Sites, tasto destro su Default Web Site, scegliete la voce Deploy (aggiunta dall’installazione di web deploy), selezionate la voce Configure Web Deploy Publishing, lasciate le impostazioni di base inalterate (o modificatele secondo le vostre esigenze) e cliccate prima su Setup (l’area Results loggherà le operazioni eseguite) e poi su Close:

image

Lato server il nostro lavoro è finito, torniamo al pannello di Azure, selezioniamo la nostra Virtual Machines e clicchiamo sulla voce di menu ENDPOINTS. Gli endpoints ci permettono di aprire le porte della nostra macchina associando un numero di porta pubblico a una porta interna del nostro server. Come potete vedere in figura di default il sistema crea per noi l’endpoint necessario all’apertura della porta 3389 per il desktop remoto, a noi tocca aprire la porta 80 per il Default Web Site e la porta 8172 per il web deploy. Clicchiamo quindi su ADD ENDPOINT:

image

Parte un wizard di due passi che ci chiede le informazioni necessarie: nel primo passo selezioniamo la voce Add Endpoint, mentre nel secondo diamo un nome all’endpoint (univoco e senza spaziature), scegliamo il protocollo (nel nostro caso TCP) e indichiamo le porte (ripetiamo la procedura due volte, una per la porta 80 e una per la porta 8172):

image

Dopo qualche secondo la situzione dovrebbe essere come quella illustrata in figura:

image

Abbiamo finito! Non ci resta che testare il tutto, quindi avviamo Visual Studio (2012 nel mio caso) creaiamo un nuovo progetto MVC4 con il template Internet, clicchiamo con il tasto destro del mouse sul nome del progetto e selezioniamo la voce Pubblish:

image

Parte il wizard del pubblish: dalla combo dei profili selezioniamo la voce New, diamo un nome al nostro profilo e clicchiamo su Next. Selezioniamo Web Deploy come metodo di deploy, compiliamo i campi con i dati del nostro server e clicchiamo su Validate Connection. Ci viene richiesto di accettare il certificato per la connessione e se tutto è andato come dovrebbe vedrete l’icona verde del buon esito dell’operazione. Cliccate su Next e poi su Pubblish:

image

Dopo qualche minuto in cui il sistema pubblicherà per noi il sito realizzato viene aperto il browser prefedinito per mostrarci il risultato:

image

Un’ultima nota prima di lasciarvi ai vostri esperimenti: se per qualche ragione eliminate la macchina virtuale per ricrearla, dovete anche eliminare il disco collegato andando nel menu DISKS, selezionando il disco e cliccando sul pulsante DELETE DISK (un grazie a Vito per il suggerimento!):

image

-- Michele

Creare un web server su Azure - Prima Parte

Facciamo una premessa: non sono un sistemista! E ne sono orgoglioso!!! (scherzo!!!) Ma ogni tanto tocca sporcarsi le mani per supportare il proprio lavoro da sviluppatore. La virtualizzazione in questo caso è una gran cosa perchè ti permette di fare un po’ di prove e l’estremizzazione di questa bella realtà è il cloud.

Lo dico con un po’ di soddisfazione: Azure è così semplice da usare e configurare che mi fa sentire in grado di fare qualsiasi cosa senza grande sforzo, anche senza approfondite conoscenze sistemistiche. Ma è un po’ giovane e il team sta facendo un lavoro pazzesco per migliorare giorno per giorno l’esperienza utente con questo servizio. Anche loro non riescono purtroppo, data l’enorme mole di lavoro e la retrocompatibilità da assicurare, a dare tutti i servizi sempre allineati  con l’ultima versione dei framework .net e quindi può capitare, come nel mio caso, che abbiate la brutta sorpresa di non poter usare alcuni strumenti di azure con gli ultimi rilasci del mondo dev.

E’ il caso dei WebSites (non sapete cosa sono? venite al nostro prossimo evento!) che purtroppo non supportano ancora il framework 4.5 e quindi non ho potuto usarli per testare una nuova applicazione web che sto realizzando con Asp.Net MVC4. Come fare? Potrei creare un web role e aggiungere con Windows Azure Bootstrapper il runtime del framework 4.5, ma mi sono detto: quale migliore occasione per provare il nuovo servizio di virtual machine di Azure? Eh già, perchè insieme ai websites Microsoft ha aggiunto anche la possibilità di crearsi una propria macchina virtuale (in preview, quindi magari non è ancora il momento di usarli in produzione) e installarci un sistema operativo a propria scelta.

Ma andiamo step by step e usiamo una sottoscrizione trial in modo che anche chi vuole solo provare a vedere come funziona il tutto abbia una guida passo passo con cui divertirsi un po’. Andiamo sul sito di azure, http://www.windowsazure.com/, e clicchiamo sul pulsante try it free, sulla pagina successiva clicchiamo ancora su try it free e autentichiamoci con un nostro live id (se non ne avete uno, anche se ci credo poco, potete crearlo gratuitamente seguendo il link What’s this nella schermata di login):

image

Una volta autenticati un wizard vi guiderà nella varie fasi necessarie alla registrazione, vi servirà un numero telefonico su cui poter ricevere un sms e una carta di credito (tranquilli, non vi sarà addebitato niente, la trial è completamente gratuita!). Il prima passo e leggere le features offerte con la versione trial e cliccare sul pulsante avanti, il wizard vi chiederà un numero di telefono a cui inviare un sms di verifica contentente un codice che dovrete inserire in una casella di testo che comparirà subito dopo aver cliccato sul pulsante Send Text Message. Attendete l’arrivo dell’sms, inserite il codice contenuto nel messaggio e cliccate sul pulsante Verify Code:

image

Se tutto è andato a buon fine vi saranno richiesti i dati di fatturazione e la carta di credito:

image

Dopo qualche secondo di attesa vi ritroverete nella pagina di benvenuto dove cliccando sul pulsante Portal verrete reindirizzati alla pagina del portale, di cui al momento esistono due versioni, quella classica silverlight e la nuova versione in HTML5 in preview, quindi vi verrà chiesto se volete usare la versione in preview del nuovo portale HTML5, cosa che vi consiglio assolutamente:

image

Un piccolo wizard vi accoglierà per illustrarvi le funzionalità del nuovo portale:

image

Concedetevi qualche minuto per ammirare il nuovo pannello di amministrazione, davvero un bell’esempio di Single Page Application che lavora massivamente in asincrono e usa HTML5 e CSS3:

image

Come potete notare dalla figura precedente purtroppo di base le virtual machines non sono presenti, ma cliccando sui link New –> Compute –> Virtual Machine –> preview program possiamo arrivare alla pagina che ci permette di registrarci:

image

Cliccando sul pulsante try it now in corrispondenza della sezione virtual machines e successivamente cliccando sul pulsante di conferma della popup che vi si presenta, avrete anche voi accesso a questa funzionalità:

image

Tornando al portale adesso troveremo tra le voci disponibili anche virtual machines, non ci resta quindi che selezionarla e cliccare sul link CREATE VIRTUAL MACHINE che compare nella pagina corrispondente:

image

Un wizard vi accompagnerà in tutte le fasi necessarie alla configurazione della macchina virtuale: scegliete il sistema operativo che volete installare (Windows Server 2012 nel nostro caso), date un nome alla macchina, indicate una password per l’Administrator, selezionate la taglia della macchina (nel caso della trial la scelta ricade necessariamente sulla Small), indicate un nome per l’indirizzo da assegnare alla macchina nel formato <nome>.cloudapp.net e confermate nell’ultimo step del wizard senza scegliere nessun availability set (che sarebbe un gruppo di macchine fisicamente separate con lo scopo di darvi fault tollerance):

image

Dopo qualche secondo ecco a voi il risultato sperato:

image

Nel prossimo post ci collegheremo alla macchina virtuale in desktop remoto e configureremo il nostro web server con tanto di web deploy!

-- Michele

Web Development in Visual Studio 2012 – Settima Parte

Dopo esserci concentrati un attimino sulle novità per Asp.Net Web Form torniamo a parlare dell’ambiente di sviluppo, dando uno sguardo alle novità per la scrittura di codice Javascript. Visual Studio 2012 ci fornisce finalmente un ottimo supporto dell’intellisense in cambio di qualche indicazione su dove prendere le informazioni. Creando un nuovo progetto web, ad esempio una web application Web Forms, troviamo nella cartella script le principali librerie javascript usate nello sviluppo web, più un file denominato _reference.js:

image

Grazie a questo file l’intellisense carica le informazioni presenti nei file referenziati per fornire assistenza durante la scrittura del codice. Se ad esempio creiamo un nuovo file js e digitiamo il simbolo $ l’intellisense ci aiuterà nella scrittura di codice jQuery:

image

La stessa cosa succede per jQuery UI e Modernizr. Chiaramente Javscript è supportato nativamente, quindi se ad esempio dichiariamo una variabile ed assegniamo un valore l’intellisense ci mostrerà i soli suggerimenti per i tipi della variabile:

image

Se scriviamo una funzione l’intellisense ne rende disponibile la firma a chi deve utilizzarla, mentre l’editor fornisce la possibilità di chiudere la visualizzazione dell’implementazione della funzione come per il codice C#:

image

E proprio come in C# (ok anche in Visual Basic…) possiamo aggiungere commenti alla funzione che istruiscano l’intellisense nei suggerimenti:

image

Chiaramente non potevano mancare gli snippet! Se digitate ad esempio la parola chiave for e fate un doppio tab l’editor scrive la struttura base del ciclo for per voi:

image

Manca solo il Go to definition…Ah no, c’è!!! in corrispondenza di un metodo premete il tasto F12 o clickate sul tasto destro del mouse e selezionate la voce Go to definition per ottenere il risultato sperato:

image

-- Michele

Più Post Pagina seguente »