2010-10-07 3 views
5

È possibile creare un modulo DNN che utilizza ASP.NET MVC?ASP.NET MVC all'interno di DotNetNuke?

Premesso che DNN non supporta ASP.NET MVC fuori dalla scatola ... ma dal momento che sia DNN e MVC eseguire su di pipeline ASP.NET ...

Il motivo che mi chiedo. Grande sito legacy in esecuzione su DNN:

http://blahblahblah.com 

mi piacerebbe attaccare un ASP.NET MVC sito/applicazione esistente qui:

http://blahblahblah.com/subfolder 

è meglio questo fatto attraverso la creazione di una directory virtuale ecc su il server, o c'è un modo per integrare questo con DNN?

risposta

8

DNN è strettamente legato a Webform. ASP.Net MVC sarebbe molto difficile, forse impossibile da integrare in un modulo. Tuttavia DNN supporta Webforms MVP (Model View Presenter) che consente tutti i vantaggi strutturali/test di MVC nel contesto WebForms. Tutti i nuovi moduli sviluppati da DotNetNuke Corp. stanno utilizzando il pattern MVP di Webforms.

Ecco un link per iniziare Step by Step Webforms MVP and DotNetNuke – Part 1.

+0

Grazie! Verificherà questo. –

+0

Qualche tempo dopo aver postato questa risposta, ho fatto un picco cercando di integrare MVC con DNN. La mia conclusione è che sarebbe possibile farlo, con alcuni compromessi, ma in definitiva non ne vale la pena. Oggi sono propenso a scrivere servizi con il framework di servizio, e faccio tutto l'interfaccia utente in javascript, essenzialmente lasciando fuori completamente le forme web e il codice. – ScottS

0

Se si desidera un'applicazione MVC separata in una sottodirectory, si dovrebbe essere in grado di farlo. La parte più complessa sarebbe l'integrazione di utenti/sessioni (supponendo che sia necessario), ma non dovrebbe essere troppo un ostacolo da capire (al contrario di ricodificare l'applicazione MVC esistente). Probabilmente avrai anche bisogno di aggiornare il web.config per la tua applicazione MVC per eliminare qualsiasi cosa da DNN (soprattutto i moduli e i gestori HTTP, in modo che non interferiscano con il routing).