Conoscete qualche scenario in cui asp.net mvc può sovraperformare asp.net? Perché confrontando questi due, la gente dice sempre che ognuno di loro è una bestia diversa e può essere una scelta migliore a seconda dello scenario.
Penso che se stai parlando di prestazioni come l'efficienza dell'HTML generato, la velocità della pagina viene restituita, ecc., non importa quale framework scegli. Importa quali sviluppatori sono nel progetto. Puoi creare un sito Web veloce con entrambi i framework e puoi creare un sito web orrendamente lento con entrambi i framework.
Detto questo, credo che MVC ti renda un po 'più consapevole del contenuto che stai generando e delle attività che stai eseguendo sul server, e questa consapevolezza potrebbe rendere gli sviluppatori più propensi a pagare attenzione alle prestazioni, risultando così in un sito più veloce. Ma questo è un effetto collaterale.
Ho visto molte forme web di aps.net soffrire a causa di Viewstate che influisce gravemente sulle prestazioni. L'uso di MVC risolve il problema di Viewstate, che aumenterà le prestazioni, tuttavia entrambi i moduli Web e MVC soffrono quando progetti sbagliati o sviluppatori sono al timone.
ASP.Net MVC è ASP.Net - sono la stessa cosa. MVC è un set di gestori, WebForms è un altro o potresti persino scrivere il tuo.
In termini di prestazioni non elaborate, saranno esattamente le stesse, in profondità ASP.Net sta facendo le stesse azioni indipendentemente dal gestore.
Tuttavia, in generale le app MVC tendono ad essere molto più veloci. Questo perché WebForms astrae il modello HTTP sottostante - gli sviluppatori stanno pensando in termini di componenti e dei loro eventi, piuttosto che in termini di richiesta e risposta HTTP. Nasconde parti del modello web che sono inopportune, ad esempio la mancanza di un modello di stato reale è nascosta da WebForm con un massiccio% di% di oggetto di co_de che viene inviato avanti e indietro con ciascuna richiesta.
Tuttavia tutto ciò mantiene le app facili di WebForms. Gli sviluppatori di desktop possono creare una pagina, trascinare pulsanti e controlli, sottoscrivere i loro eventi di clic e così via utilizzando l'interfaccia utente.
MVC si occupa molto più direttamente con il pattern HTTP, quindi gli sviluppatori trattano i link che lanciano azioni URL (che è ciò che fa il web), piuttosto che componenti che attivano eventi (che è un'astrazione collegata mentre la risposta viene elaborata). È molto meno probabile che vi siano grandi variabili nascoste e enormi script aggiunti alla pagina dai componenti, ma tendono anche (almeno all'inizio) a lavorare di più.
Quindi le app MVC sono più semplici . IMHO che in genere significa più veloce e molto più gestibile, ma significa anche più di una barriera per iniziare, specialmente per gli sviluppatori desktop. Hanno bisogno di capire il modello di richiesta / risposta abbastanza bene, non c'è un'interfaccia utente WYSIWYG decente e trascorrono tanto tempo in Javascript come in C # / VB.Net.
Tutto ciò che ha detto nulla è importante quanto quanto i tuoi sviluppatori siano bravi.
Direi che un sito che ha molti contenuti dinamici basati sulla visualizzazione / modifica del contenuto del database (come app e blog StackExchange, ecc.) sarà una buona scelta per utilizzare MVC, mentre applicazioni più avanzate, dove non avere un semplice modello per come appariranno le cose, ma ha molti pulsanti che faranno accadere qualcosa di strano ... beh, più come un'applicazione desktop che un sito web, preferirai usare asp.net
Leggi altre domande sui tag asp.net asp.net-mvc