Je suis dans la phase de planification d'un système intranet pour les employés à construire avec ASP.NET MVC 4. Nous aimerions que le site soit composé de "modules" distincts, chacun offrant une fonctionnalité différente: messagerie, modifications de la paie, etc. J'aimerais que ces modules puissent être activés ou désactivés au moment de la compilation. La page d'accueil affichera une sorte de navigation qui sera liée à chaque module chargé.
C'est facile jusqu'à présent, mais je ne veux pas que la fonction de navigation connaisse au préalable les modules. En d'autres termes, je veux que les modules soient dynamiquement détectables; Je veux pouvoir écrire le code d'un nouveau module, puis ajouter un lien vers la barre de navigation sans changement de code ailleurs dans la source. Chaque module devrait avoir un moyen de s'enregistrer auprès de la barre de navigation, et - plus important encore - cela devrait être fait pour chaque module lors de son chargement.
Je crois que cela empêche d'utiliser les zones de MVC, car celles-ci sont conçues pour le cas où la disposition du site est connue à l'avance. MEF semble être approprié, bien que les gens semblent avoir eu un succès mitigé en combinant MEF avec MVC. Le MEF est-il vraiment le chemin à parcourir ici ou existe-t-il un meilleur moyen d'accomplir ce dont j'ai besoin?