J'ai un bon fonctionnement de StructureMap sur ma machine. Tout fonctionne bien ... jusqu'à ce que je demande une ressource qui n'existe pas. Au lieu d'un 404, j'obtiens une erreur de 500.J'ai des problèmes avec ASP.NET MVC et StructureMap
par ex. http://localhost:6969/lkfhklsfhskdfksdf
En vérifiant le net, on m'a dit de fix my structuremap controller class. Est-ce que cela et la joie! je reçois maintenant le - original par défaut 404 page d'écran jaune -. Ok, c'est mieux que ma page d'erreur 500.
MAIS, je veux qu'il aille à ma page d'erreur 404 :(Si j'appelle une mauvaise action sur un contrôleur réglo, je reçois ma page d'erreur 404.
Dans mon global.asax j'ai mes itinéraires personnalisés , la valeur par défaut, puis enfin la 404 route:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Post", action = "Index", id = "" } // Parameter defaults
);
// Invalid/Unknown route.
routes.MapRoute(
"404-ResourceNotFound",
"{*url}",
new { controller = "StaticContent", action = "ResourceNotFound" }
);
Voici mon StructureMap code du contrôleur:
public class StructureMapControllerFactory: DefaultControllerFactory {
protected override IController GetControllerInstance(Type controllerType) {
if (controllerType != null) {
return ObjectFactory.GetInstance(controllerType) as Controller;
return base.GetControllerInstance(controllerType);
}
}
Toutes les idées est-il un moyen que je pourrais obtenir en quelque sorte le contrôleur de carte la structure fa? ctory pour revenir dans la liste des routes global.asax
? ou ai-je fait quelque chose de vraiment mauvais et besoin de réparer d'autres choses.
bravo!
Je travaille actuellement autour de 5 sites en ce moment :(Re-arching un, 4 sont nouveaux. :(Aussi, avec votre code, j'avais l'habitude de l'avoir aussi.Que se passe-t-il quand vous allez une adresse URL: http : // localhost: 12345/sfsfkasfhasklfla (par exemple votre hôte local et votre port, puis un uri qui ne correspond à aucun contrôleur.) Votre structureMapControllerFactory lance-t-elle une exception? –
Mon application tombe sur la page d'erreur personnalisée par défaut en production .. mais pas parce que j'ai une 'route 404.' Je pense que c'est sa conception interne MVC Pourquoi avez-vous cette route 404? –
Donc, je peux envoyer des piaulements à ma propre page 404 personnalisée –