Routage d'Erreur HTTP 404.0 0x80070002
J'ai créé des règles de routage dans mon ASP.NET application et sur ma machine de Dev à IIS7 tout fonctionne bien. Pour le déploiement de la solution de serveur de prod qui a également IIS7 j'obtiens l'erreur 404 (page non trouvée) tout en accédant à l'URL. Peut-être que quelqu'un pourrait point où est le problème?
Erreur réelle
Erreur HTTP 404.0 - Pas Trouvé Le
ressource que vous recherchez a été
supprimée, que son nom ait changé ou est
temporairement indisponible. Détaillé
Erreur InformationModule Web IIS de Base
Notification MapRequestHandler
Gestionnaire StaticFile Code D'Erreur
0x80070002 URL Demandée
http://xxx.xxx.xxx.xxx:80/pdf-button
Chemin D'Accès Physique
C:\www\pathtoproject\pdf-bouton d'ouverture de session
Méthode D'Ouverture De Session Anonyme Utilisateur Anonyme
Mon Code
<add key="RoutePages" value="all,-forum/"/>
UrlRewrite.Init(ConfigurationManager.AppSettings["RoutePages"]);
public static class UrlRewrite
{
public static void Init(string routePages)
{
_routePages = routePages.ToLower().Split(new[] { ',' });
RegisterRoute(RouteTable.Routes);
}
static void RegisterRoute(RouteCollection routes)
{
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.Ignore("favicon.ico");
foreach (string routePages in _routePages)
{
if (routePages == "all")
routes.MapPageRoute(routePages, "{filename}", "~/{filename}.aspx");
else
if (routePages.StartsWith("-"))
routes.Ignore(routePages.Replace("-", ""));
else
{
var routePagesNoExt = routePages.Replace(".aspx", "");
routes.MapPageRoute(routePagesNoExt, routePagesNoExt, string.Format("~/{0}.aspx", routePagesNoExt));
}
}
}
}
J'utilise le Système.Web.Le routage.RouteCollection (de la classe.NET 4.0)
Qu'attendez-vous pour être acheminé vers - pdf-bouton.aspx? Je suis sûr que vous avez réalisé 0x80070002 = ERROR_FILE_NOT_FOUND
OriginalL'auteur Tomas | 2011-04-15
Vous devez vous connecter pour publier un commentaire.
Juste trouvé que les lignes ci-dessous doit être ajouté à
web.config
fichier, maintenant tout fonctionne très bien sur le serveur de production.OriginalL'auteur Tomas
La solution proposée
fonctionne, mais peut dégrader les performances et peut même causer des erreurs, parce que maintenant tous enregistrés HTTP modules exécuter sur chaque demande, et pas seulement géré les demandes (par exemple .aspx). Cela signifie que les modules de fonctionner sur tous les .jpg .gif .css .html .pdf, etc.
Plus sensible solution est de les inclure dans votre site web.config:
De crédit pour le son va à Colin Farr. Check-out de son post sur ce sujet à http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html.
OriginalL'auteur Robert Bethge
Ma solution, après avoir TOUT essayer:
Mauvais déploiement, un vieux PrecompiledApp.config a été accroché autour de mon déployer emplacement, et en faisant tout pour ne pas travailler.
Ma dernière paramètres qui ont travaillé:
Rien ne change dans le web.config - cela signifie qu'il n'spécial des gestionnaires pour le routage. Voici mon instantané des sections beaucoup d'autres postes de référence. Je suis en utilisant FluorineFX, donc je n'ai que gestionnaire ajouté, mais je n'ai pas besoin des autres:
Mondiale.ashx: (méthode de la note)
PassthroughRouteHandler.cs - cela réalisé une conversion automatique de http://andrew.arace.info/stackoverflow à http://andrew.arace.info/#stackoverflow qui pourrait ensuite être traitées par le défaut.aspx:
OriginalL'auteur Andrew Arace
Le problème pour moi était un nouveau serveur ce Système.Web.Le routage est de la version 3.5 de tout le web.config requise version 4.0.0.0.
La résolution a été
%WINDIR%\Framework\v4.0.30319\aspnet_regiis -je
%WINDIR%\Framework64\v4.0.30319\aspnet_regiis -je
OriginalL'auteur Yaron Habot
Décochez cette option dans l'Explorateur Windows.
"Masquer les extensions de fichiers de types connus"
OriginalL'auteur MacGyver
Avoir ce Mondial.asax.cs résolu pour moi.
OriginalL'auteur wolfQueen