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 p>
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 p> blockQuote>
mon code actuel p>
xxx pré> p>
6 Réponses :
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>
RUNALLMANAGÉDMODULESFORLESTSFORLESTS = "vrai" seul a fait le travail mais la solution donnée par Robert Bethge est également meilleure.
Ma solution, après avoir essayé TOUT:
Bad déploiement, un ancien PreCompiledApp.config strong> traînais ma position de déploiement, et de faire tout ce travail pas p> Ma dernière. les paramètres qui ont travaillé: p> Rien ne change dans les web.config em> - 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: p>
Global.ashx: (seule méthode de toute note) p>
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: p>
Vous avez sauvé ma journée avec précompiledapp.config infinique. :-) Merci beaucoup.
Décochez cela dans l'Explorateur Windows. P>
"Masquer les extensions de type de fichier pour les types connus" p>
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>
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 p>
% windir% \ framework \ v4.0.30319 \ aspnet_regiis -i p>
% windir% \ framework64 \ v4.0.30319 \ aspnet_regiis -i p>
avoir ceci dans global.aSax.cs résolu pour moi.
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