Compilazione automatica del codice

di: Angelo Ranucci     11 Luglio 2006

In ASP.NET 1.x tutto il codice delle pagine è compilato in assembly, librerie che vengono memorizzate nella cartella /bin dell'applicazione. Le pagine web invece, per intenderci, quelle con estensione .aspx, sono compilate automaticamente. Ogni cambiamento fatto sulla pagina .aspx  provoca la ricompilazione della pagina ma non del suo codice interno, presente nella cartella /bin, che va invece ricompilato a parte.

In ASP.NET 2.0 invece, vengono ricompilate dinamicamente, su ogni modifica al codice, sia le pagine .aspx sia i file .cs o .vb. La cartella /bin non ha più ragione di esistere ma è ancora supportata per compatibilità con le versioni precedenti. Ci sono altre cartelle "speciali" che invece è utile conoscere e che possono essere utili nello sviluppo di applicazioni.

  • App_Code, contenitore per le classi, i file WSDL e XSD; tutti i file contenuti in questa cartella sono ricompilati automaticamente;
  • App_Data, contenitore per i file di database e XML;
  • App_LocalResources, contenitore per i file generati dal VWD (o Visual Studio) per la localizzazione implicita dell'applicazione;
  • App_GlobalResources, contenitore per i file per la localizzazione esplicita dell'applicazione, con estensione .resx;
  • App_Themes, contenitore per i temi e i file di interfaccia (skin);
  • App_Browsers, contenitore per i file browser che servono per supportare diversi tipi di client;
  • App_WebReferences, contenitore per i file .wsdl che servono per i web service;

In questo articolo, utilizzando la cartella App_Code, verifichiamo la ricompilazione automatica della parte codice interno di una pagina.

Apriamo un nuovo sito web con il VWD e chiamiamolo "RicompilazioneDinamica", aggiungiamo alla nostra applicazione la cartella speciale App_Code e all'interno di essa, implementiamo una classe che poi utilizzeremo nella nostra pagina. Chiamiamo la classe DataOra.cs:

Listato 1. Classe "DataOra"

public class DataOra
{
  public DataOra()
  {
    // costruttore della classe
  }
  
  public string ottieniDataOra()
  {
    return "Data e ora del server: " + DateTime.Now;
  }
}

Il costruttore lo possiamo lasciare vuoto, mentre dobbiamo implementare il metodo ottieniDataOra che restituisce una stringa con la data e l'ora del server.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

20 Febbraio 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto