2015-02-20 7 views

risposta

7

In questo nuovo mondo ASP.NET 5 ci sono due aspetti principali dello sviluppo di app.

  1. Iniezione di dipendenza. Aka quali servizi saranno necessari per eseguire la nostra applicazione?
  2. La pipeline dell'applicazione/richiesta. In sostanza, il modo in cui rispondiamo alla domanda "Cosa fare quando una richiesta colpisce il server".

A causa di questi due problemi principali, ci sono due meccanismi che collegano il sistema.

Innanzitutto, UseMVC è il modo in cui la tua applicazione può dire che voglio che MVC partecipi alla fase di gestione delle richieste in "questo" punto. È essenzialmente un collegamento a un middleware specifico MVC.

Secondo, AddMvc è il modo in cui l'applicazione dice che si desidera che i servizi MVC disponibili per il sistema (necessari per il UseMvc) funzionino correttamente. Pertanto, se si provasse a fare UseMvc senza aggiungere i servizi MVC corrispondenti, la chiamata verrebbe generata. Notare che ciò aggiunge i servizi MVC appropriati al contenitore DI.

Speriamo che questo risponda alle vostre domande, per ulteriori informazioni su di esso è possibile controllare http://www.asp.net/vnext per ulteriori informazioni generali. Per qualcosa di più specifico/video che ho fatto un discorso un po 'indietro alla conferenza frutteto dove vado su più dei pezzi fondamentali https://www.youtube.com/watch?v=kqgIByKn9Wk

Nota: ho dato il parlare un po' indietro, alcuni concetti sono obsoleti/potrebbe avere modificato ma i concetti chiave sono gli stessi.

+0

Buona risposta, ma ad esempio, NancyFX non ha bisogno di aggiungere nulla al metodo ConfigureService, solo l'useNancy nel metodo Configure, che è quello che mi confonde. – user2070369

+0

Alla fine spetta al framework per come vorrebbero incorporare le loro chiamate "add me". Come vedrai nel video, finisco per fare app.UseServices (services => ....) per registrare i servizi. Questo è stato un modo rapido per registrare i servizi per una demo. L'approccio migliore consiste nell'utilizzare il metodo ConfigureServices nella classe di avvio. Abbiamo deciso di tenere separati i due poiché sono veramente due concetti diversi, con i due separati che ti permettono di mettere tutto il tuo codice DI in un posto e il tuo codice 'Use' in un altro. –

+0

@ user2070369 Non proprio corretto, NancyFX richiede di sovrascrivere GetApplicationContainer se si desidera un DI-framework non cablato all'interno di un NancyBootstrapper. Quindi, ad esempio in ASP.NET 5 - Funzione di configurazione in cui si inserisce UseNancy, è necessario anche prima creare un contenitore DI e quindi restituirlo da GetApplicationContainer – Janus007