12
votes

Erreur HTTP de routage 404.0 0x80070002

J'ai créé des règles de routage dans mon application ASP.NET et sur ma machine de développement chez IIS7 Tout fonctionne bien. Lorsque je déploie une solution à Prod Server qui a également IIS7, je reçois une erreur 404 (page non trouvée) tout en accédant à l'URL. Peut-être que quelqu'un pourrait signaler où est le problème?

Erreur réelle

erreur http 404.0 - pas trouvé le la ressource que vous recherchez a été enlevé, a changé son nom, ou est temporairement indisponible. Détaillé Erreur d'informationsModile IIS web noyau web Notification MapRequestHandler Handler Staticfile Code d'erreur 0x80070002 URL demandée http://xxx.xxx.xxx.xxx:80/pdf-button Chemin physique C: \ www \ pathtoproject \ bouton-bouton de pdf Méthode Anonyme Connexion utilisateur anonyme

mon code actuel xxx


3 commentaires

Quel type de routage que vous avez utilisé? Mvc?


J'utilise System.Web.Routting.Routecollection Classe (.NET 4.0)


Qu'attendez-vous que cela soit acheminé vers - pdf-button.aspx? Comme je suis sûr que vous avez réalisé 0x80070002 = error_file_not_found


6 Réponses :


28
votes

Il suffit de trouver que les lignes ci-dessous doivent être ajoutées au fichier web.config code>, tout fonctionne correctement sur le serveur de production.

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true" >
   <remove name="UrlRoutingModule"/>    
  </modules>
</system.webServer>


1 commentaires

RUNALLMANAGÉDMODULESFORLESTSFORLESTS = "vrai" seul a fait le travail mais la solution donnée par Robert Bethge est également meilleure.



2
votes

Ma solution, après avoir essayé TOUT:

Bad déploiement, un ancien PreCompiledApp.config traînais ma position de déploiement, et de faire tout ce travail pas

Ma dernière. les paramètres qui ont travaillé:

  • IIS 7.5, Win2k8r2 64 bits,
  • pool d'applications en mode intégré
  • Rien ne change dans les web.config - ce qui signifie aucun gestionnaire spécial pour le routage. Voici mon aperçu des sections beaucoup d'autres postes de référence. J'utilise FluorineFx, donc je n'ai que gestionnaire ajouté, mais je ne l'ai pas besoin des autres: XXX

  • Global.ashx: (seule méthode de toute note) XXX

  • PassthroughRouteHandler.cs - ce obtenu une conversion automatique de http://andrew.arace.info/stackoverflow http://andrew.arace.info/#stackoverflow qui seraient alors traitées par le default.aspx: XXX


1 commentaires

Vous avez sauvé ma journée avec précompiledapp.config infinique. :-) Merci beaucoup.



-1
votes

Décochez cela dans l'Explorateur Windows.

"Masquer les extensions de type de fichier pour les types connus"


0 commentaires

13
votes

La solution suggérée

<system.webServer>
  <modules>
    <remove name="UrlRoutingModule-4.0" />
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  </modules>
</system.webServer>


0 commentaires

1
votes

Le problème pour moi était un nouveau serveur que System.Web.Routting était de la version 3.5, tandis que web.config demandé version 4.0.0.0. La résolution était

% windir% \ framework \ v4.0.30319 \ aspnet_regiis -i

% windir% \ framework64 \ v4.0.30319 \ aspnet_regiis -i


0 commentaires

0
votes

avoir ceci dans global.aSax.cs résolu pour moi. XXX


0 commentaires