chemin de contrôleur introuvable pour les images statiques? asp.net problème de routage mvc?
J'ai un dossier d'image stockés dans ~/Content/Images/
Je suis le chargement de ces images via
<img src="/Content/Images/Image.png" />
Récemment, les images ne se chargent pas et j'obtiens les erreurs suivantes dans mon journal d'erreur. Ce qui est bizarre, c'est que certaines images se chargent très bien, tandis que d'autres ne se charge pas.
Quelqu'un a une idée de ce qui est mal avec mes itinéraires? Ai-je raté une option ignorer route pour l' /Content/dossier?
Je suis également obtenir la même erreur pour le favicon.ico et un tas d'autres fichiers image...
<Fatal> -- 3/25/2010 2:32:38 AM -- System.Web.HttpException: The controller for path '/Content/Images/box_bottom.png' could not be found or it does not implement IController.
at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(Type controllerType)
at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
at System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext)
at System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext)
at System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Au courant de mes itinéraires ressembler à ceci:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", //Route name
"{controller}/{action}/{id}", //URL with parameters
new { controller = "Home", action = "Index", id = "" } //Parameter defaults
);
routes.MapRoute(
"ControllerDefault", //Route name
"{controller}/project/{projectid}/{action}/{searchid}", //URL with parameters
new { controller = "Listen", action = "Index", searchid = "" } //Parameter defaults
);
Merci!
source d'informationauteur rksprst
Vous devez vous connecter pour publier un commentaire.
Je voudrais insérer un autre ignoré route immédiatement, en vertu de la première.
Si vous regardez votre solution d'affichage de l'explorateur, je devine que votre dossier de Contenu est à la racine du projet avec un dossier pour les Contrôleurs et les Vues. Essayez de modifier votre image src comme indiqué ci-dessous...
Vous devez déclarer moins des itinéraires spécifiques vers le bas:
Mais je ne pense pas que c'est le problème ici. De l'exception, il semble que le serveur web de l'exécution de cette application dispose d'un mappage de caractères génériques avec la
aspnet_isapi
filtre ce qui signifie que tous les fichiers seront associés à la ASP.NET runtime même les fichiers statiques.Vous n'avez pas
routes.RouteExistingFiles = true;
quelque part vous?L'exception
... could not be found or it does not implement IController
n'a pas à être dans l'erreur. En fait/favicon.ico
ne résoudre à un contrôleur cela signifie donc que le module suivant (ou est-ce gestionnaire?) devrait essayer de répondre à la demande. Donc dans un sens, c'est une "attendu exception".Le problème, c'est lorsque cette exception est connecté et obstrue les journaux. Lors de l'utilisation de log4net, adjonction
<filter>
élément par défaut appender devrait le garder: