Nous pouvons une application MVC qui utilise les conventions de dossiers par défaut pour les vues HTML, mais nous souhaitons configurer un autre dossier "Services" avec des contrôleurs utilisés uniquement pour les services Web renvoyer xml ou json.Définition d'un emplacement de dossier de contrôleur secondaire dans ASP.NET MVC
Ainsi la route «/Services/Tâches/Liste » seraient acheminés vers « /Services/TaskService.cs », tandis que «/tâches/liste » seraient acheminés à la norme « /Controllers/TaskController.cs »
Nous souhaitons conserver les contrôleurs de service séparés des contrôleurs de vue. Nous ne pensons pas que les zones ou l'utilisation d'un autre projet fonctionnera. Quelle serait la meilleure façon d'aborder cela?
Vous pouvez le faire et renvoyer un 'ContentResult' ou tout résultat non-affichage, rappelez-vous juste si vous décidez de retourner n'importe quel type de vue, vous aurez besoin de cre mangé un moteur de vue personnalisé. – Ahmad
Oui, la réponse ci-dessus ne résout que la partie routage du problème. Si vous renvoyez un ViewResult, vous devez modifier les conventions pour choisir la vue. Si vous choisissez d'implémenter un moteur de vue personnalisé, [this] (http: // stackoverflow.com/questions/799838/asp-net-mvc-comment-spécifier-quel-dossier-le-view-pages-résident-dans/809676 # 809676) pourrait aider. Vous pouvez également essayer de baser vos contrôleurs de service sur une classe de base qui remplace View() et implémente vos conventions à cet endroit. Il serait bon de savoir quel chemin vous prenez. – CGK