2009-09-07 12 views
0

J'ai une application ASP.NET s'exécutant sur deux Virtual Windows Server 2003 presque identiques. La première est mon serveur de développement et de test. . J'ai installé .NET WebExtensions for Framework 2.0 là et l'application fonctionne bien. Maintenant, j'ai essayé de publier la même application sur un deuxième serveur (appelons-le le serveur de production) et y avons installé les extensions .NET WebExtensions ainsi que les exécutions de compilation et d'accès à la base de données ainsi que l'application complète APS.NET. Sauf pour appeler les PageMethods statiques via les appels JavaScript AJAX. J'ai utilisé les outils de développement de l'IE8 pour déboguer dans le JavaScript et trouvé que cela fonctionne de manière identique. Cependant, tous les appels du WebMethods retournent et l'erreur interne du serveur (code d'erreur 500) indique "Unknown web method index.php".Application ASP.NET: AJAX PageMethods renvoyant une erreur interne du serveur à propos de "index.php" sur le serveur de production uniquement

Est-ce que quelqu'un sait ce qui pourrait ne pas fonctionner avec le serveur de production ou quelle configuration doit être modifiée? La principale différence entre les deux serveurs est que le serveur de production utilise .NET .../Framework64/v2.0.50727/aspnet_isapi.dll, tandis que le serveur de test utilise .../Framework/v2.0.50727/aspnet_isapi. dll.

Quelques détails:

  1. Tous les PageMethods sont statiques, retourner une chaîne et ont le WebMethod-attribut.
  2. Sur les deux serveurs, le JavaScript crée un objet XmlHttpRequest en utilisant l'URL résolue "http://myDomain/myPage.aspx/myWebMethod" et l'application "Content-Type" -Header "/ json charset =" utf-8 "et les corps contiennent la définition JSON correcte des paramètres pour les PageMethods.
  3. Bien sûr, toutes ASPX pages qui utilisent les PageMethods AJAX ont un ASPX-ScriptManager hving l'EnablePageMethods attribut "True".

Répondre

1

J'ai résolu mon problème. Il y avait un ISAPI_ewrite sur le serveur de production configuré pour fonctionner globalement sur tous les sites Web.Après avoir changé cette configuration pour le site Web ISAPI_Rewrite individuel pour les sites Web qui ont besoin d'utiliser cette réécriture, le AJ AX XmlHttpRequests fonctionne.

Questions connexes