J'utilise le château Windsor pour gérer les instances de contrôleur (entre autres choses). Mon usine de contrôleur ressemble à ceci:
protected override IController GetControllerInstance(Type controllerType) { if (controllerType == null) return null; return (IController)_container.Resolve(controllerType); }
4 Réponses :
Il s'avère que la deuxième requête était le cadre MVC essayant de trouver un script que j'ai inclus dans le site.master. Le chemin n'existait pas, alors je suppose que cela a essayé de résoudre un contrôleur (correspondant /scripts/sitescripts.js). J'ai changé la méthode à ceci: et une exception avec un message compréhensible a été lancé. P> p>
Merci, j'ai passé des heures à chercher cette solution.
Et moi trois. Juste pour noter, pour MVC 2.0, c'est cette base de retour.geControllerInstance (demandeContext, contrôleur);
Moi quatre. J'ai pu le perdre sur celui-ci ... content d'avoir trouvé cela.
@Jedi, pour ce problème spécifique, je viens de supprimer la référence au script. Si vous obtenez l'erreur d'une image ou de quelque chose, vous pouvez regarder dans Ignorer les itinéraires
Avait ce problème lors de la suite du Pro ASP.NET MVC Cadre livre, ajouté p>
routtes.ignoreroute ("favicon.ico"); p> blockQuote>
aux itinéraires du fichier global.asax.cs et cela fonctionne. En voir plus Vous allez voir ici: Servir Favicon . P>
Avait le même problème que le gars posant la question et tout en améliorant la manutention des erreurs, c'est une bonne idée que la page réelle était que la page chargait et puisse ensuite chercher le Favicon. Ajout de la ligne ci-dessus résolue mon problème immédiatement.
En ce qui concerne l'enregistrement de tous les contrôleurs, vous le faites habituellement comme ceci: voir La documentation Pour plus d'explication de l'API. P> P>
Addition très tardive: le didacticiel étape par étape sur le site Windsor semble bon. Il décompose la création d'un contrôleur et de la manière dont elle est chargée dans l'usine. Il couvre également le bruit "Favicon.ico". P>
Pourquoi piraterez-vous l'enregistrement avec réflexion au lieu d'utiliser une API d'enregistrement appropriée?
@Krzysztof - Je suivais l'exemple de Steve Sanderson. Si vous souhaitez poster un meilleur moyen d'enregistrer toutes les classes qui héritent d'un contrôleur, veuillez le faire.