Roberto Conte Rosito

Chi sbaglia, apprende meglio di chi non ha mai commesso errori

Visual studio e IIS insieme

1 commento

Ultimamente, mi sono ritrovato a dover lavorare in team e ho notato non poche difficoltà nel dovermi interfacciare con persone le cui abitudini sono completamente diverse dalle mie. Una delle peggiori è la pretesa di sviluppare un sistema web utilizzando come ambiente di test il Server Visual Studio Development. Idea sbagliatissima secondo me, non è concepibile che per dover testare un app devo avviare ogni volta il server web ed eseguire i test necessari ma ancor più brutto e non sapere che successivamente ci si troverà di fronte sorprese (errori e comportamenti anomali nell’applicazione) di cui proprio non se ne capiscono le cause.

La soluzione ottima a questo problema, secondo me, è utilizzare un server web ISS configurato nella macchina in cui si sviluppa. Questo predispone un ambiente “molto simile a quello reale”, in cui si potranno notare subito errori o mal funzionamenti per una “non corretta configurazione del server”, mentre con il Server Visual Studio Development questi problemi vengono messi da parte e nascono successivamente, quando l’applicazione entra in esercizio e, per quanto mi riguarda, è davvero frustrante dover risolvere anomalie velocemente e senza aver ben chiara la situazione. Premesso questo oggi voglio spiegare semplicemente come configurare un progetto si vs per poter essere avviato sfruttando il server web già attivo sul pc (è necessaria una conoscenza di base dei progetti vs e di IIS (Internet Information Services)).

  1. Configurazione del web server per il nostro progetto
    Supponiamo di avere un progetto nella cartella C:\wwwroot\mioprogetto, andiamo su “Pannello di controllo” → “Strumenti di amministrazione” → “Internet Information Service”. Da qui selezioniamo la voce root “Sito web predefinito” ed aggiungiamo una sotto directory scegliendo dal menu “Nuova” → “Directory virtuale…”, ci verranno richieste diverse informazioni tra le quali anche la location del sito, qui imposteremo proprio C:\wwwroot\mioprogetto”.
  2. Configurazione del progetto in visual studio
    Apriamo il nostro progetto che ovviamente si trova nella cartella impostata precedentemente, visualizziamo le proprietà di questo ed andiamo alla voce “Web”, alla voce “Server”, selezionare la voce Usa server Web IIS e in Url di progetto specifichiamo: http://localhost/<directory-virtuale>.
  3. Salviamo tutto e da ora in poi il nostro progetto è testabile utilizzando direttamente il server web evitando cosi l’uso di altre risorse di sistema e nello stesso tempo simulando un ambiente reale.

DOT.NET – il mondo dei WebControls.

Aggiungi un commento

I WebCotrols rappresentano uno strumento molto potente all’interno del DOT.NET Framework, che permette di sviluppare controlli web personalizzati. Un controllo web non è altro che un elemento HTML formattato in un certo modo, secondo specifiche proprietà e metodi che le definiscono. Un esempio lampante è un elemento di tipo select, DOT.NET implementa le HtmlSelect, DropDownList che sono sempre la stessa cosa ma con strutture interne per il loro utilizzo e la definizione del loro comportamento, totalmente diverse. Considerato questo è facile pensare che sia possibile progettare controli web personalizzati. Oggi vorrei fornire alcune informazioni “fondamentali” da conoscere prima di progettare un controllo web.
La prima cosa da sapere e che esistono due modalità differenti per la progettazione:

  • Creare un controllo .ascx: la creazione di questo tipo di controlli, se da un lato è semplicissima in quanto permette di progettare il controllo utilizzando l’interfaccia grafica di Visual Studio, d’altra parte potrebbe rappresentare un vero problema, pensiamo se il nostro controllo dovrà essere utilizzato su diverse applicazioni progettate, è chiaro che la manutenzione del codice, nel caso in cui presenti bug (quasi sempre), porti a dover perdere molto tempo nel dover riparare ogni controllo nei sistemi in cui è presente. Ciò è necessario in quanto non è possibile incapsulare in una libreria il file .ascx.
  • Creare un controllo web personalizzato: permete di creare personalmente il controllo direttamente da codice, ciò permete di poter costruire una libreria di controlli personalizzata che può essere utilizzata in diversi progetti, nel caso in cui ci siano bug o migliorie da apportare al controllo, questa operazione viene eseguita una sola volta, successivamente è necessario solo ricompilare i progetti che contengono riferimenti a questa.

Per oggi mi fermo qui, ma la prossima volta vorrei parlare delle differenze sostanziali che intercorrono tra un WebControl ed un Control, il primo eredita direttamente dal secondo e sarebbe opportuno conoscere quale dei due utilizzare in base al contesto di applicazione.