StructureMap fonctionne bien sur ma machine. Tout fonctionne parfaitement ... jusqu'à ce que je demande une ressource qui n'existe pas. Au lieu d'une erreur 404, j'obtiens une erreur 500.
eg. http://localhost:6969/lkfhklsfhskdfksdf
En consultant le net, on m'a dit de corriger ma classe de contrôleur de carte de structure . J'ai fait cela et j'ai eu la joie d'obtenir le -. Page d'écran jaune 404 par défaut à l'origine -. Ok, c'est mieux que ma page d'erreur 500.
MAIS, je veux qu'il aille sur ma page 404 personnalisée :( Si j'appelle une mauvaise action sur un contrôleur légitime, j'obtiens ma page 404 personnalisée.
Dans mon global.asax, j'ai mes routes personnalisées, puis la route par défaut, et enfin la route 404 :
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 le code de mon contrôleur de structure :
public class StructureMapControllerFactory: DefaultControllerFactory {
protected override IController GetControllerInstance(Type controllerType) {
if (controllerType != null) {
return ObjectFactory.GetInstance(controllerType) as Controller;
return base.GetControllerInstance(controllerType);
}
}
Y a-t-il un moyen de faire en sorte que l'usine de contrôle de la carte de structure soit réintégrée dans le système de gestion de l'information de l'entreprise ? global.asax
ou ai-je fait quelque chose de vraiment mal et dois-je réparer d'autres choses ?
Bravo !