2011-03-25 2 views
3

Donc je me suis retrouvé avec une énigme. Nous avons quelques vieux services Web asmx dans notre application qui ont bien fonctionné depuis des lustres. Tout à coup, ils ont cessé de travailler sur le serveur de build (CI). Je dis a cessé de fonctionner, car même si la description du service s'affiche lorsque je navigue vers le service, l'appel d'une opération n'est pas routé vers le service (Web Form Routing). Il y a 2 problèmes étranges qui ont surgi dans ma tentative de résoudre ce problème. 1.) Après avoir mis toutes mes modifications en attente, en récupérant les dernières nouvelles de TFS, et en faisant une construction locale (qui, à moins que je me trompe, m'obtient ce qui est sur le serveur de construction puisque nous construisons/poussons au). J'ai remarqué que je ne peux pas dupliquer l'erreur localement. 2.) Bien que je ne puisse pas dupliquer l'erreur localement, je suspecte toujours des routes, cependant les routes pour tous nos services sont d'abord ajoutées à la table, et ressemblent à ceci: "{service}.asmx/{*pathInfo}", je suppose que ceci a été ajouté comme par mesure de sécurité comme quelque chose comme MyService.svc ne devrait même pas faire au routeur, que le fichier existe, mais je ne sais pas si cette règle s'applique pour MyService.svc/MyMethodASMX opération 404s, mais la description du service ASMX n'est pas, problème de routage url?

I Je ne sais pas vraiment comment tester le routage, c'est-à-dire où définir un point de rupture pour savoir si je passe par la table de routage pour une requête particulière ou pas, donc tout pointeur dans cette zone serait apprécié, ainsi que tout autre identifiant Il est facile de savoir pourquoi cela pourrait se produire.

Merci!

+0

double possible de [le service ASMX fonctionne sur le serveur de développement, retourne 404 lorsqu'il est déployé à IIS 7.5] (http://stackoverflow.com/q/5416020/50447) –

Répondre

7

Je viens rencontré la même erreur, après avoir trébuché sur cette entrée SO:

Handlers returns 404 error on IIS7.5 integrated pipeline

et a essayé la solution d'ajouter le gestionnaire asmx à la section web.configs WebServer tout allait bien:

 

    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    <handlers> 
     <add verb="*" path="*.asmx" name="asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </handlers> 
    </system.webServer> 


+0

Heures gaspillée et tout ce que je avais besoin était-ce? X( – Dann

Questions connexes