Sto usando Asp.net Mvc e volevo sapere perché non ho bisogno di compilare il mio progetto durante l'aggiornamento del codice .net nei file cshtml? Ora, se stiamo parlando di aggiornamenti html \ css, capisco chiaramente perché un semplice aggiornamento sarebbe sufficiente, ma come fa il codice .net al volo in questi casi?Perché non è necessaria una compilazione quando si aggiornano i file cshtml con il codice .net?
Diciamo che ho una vista e voglio aggiungere un po 'di codice C# per esso qualcosa come Datetime.Now.ToString();
Ora tipicamente potrei aggiungere questa riga di codice al mio file cshtml, salvare il file, aggiornare la pagina e vedere il risultato senza compilazione.
Se avrei fatto lo stesso "dal libro" con l'aggiunta di una proprietà per il mio modello, assegnando il Datetime.Now.ToString()
nel mio controller e semplicemente rendendo il nuovo var avrei bisogno di compilare il mio codice al fine di vedere i cambiamenti.
Come funziona questa magia? Se è così semplice, perché non può essere fatto anche con i file .cs?
P.s la stessa domanda è rilevante per le applicazioni asp.net e per le pagine aspx \ ascx.
Odio quando cambio singolo carattere di una vista e ci vogliono 2 minuti per caricare il progetto !!!! insopportabile. fammi passare a php. – DarthVader
Interessante .. Da quello che so: il codice cs è compilato nel codice IL (file dll) e il compilatore JIT compila il codice "al volo" con ottimizzazioni al codice macchina. Il codice cshtml è compilato prima del codice IL? –
@AmirPopovich Ho usato il termine "just-in-time" qui per il significato generale. È compilato naturalmente a IL, ma solo quando necessario (per richiesta). Se le prestazioni sono importanti per te (il più delle volte lo è) dovresti evitare di scrivere codice all'interno di cshtml – Alireza