Question

Je suis en train d'utiliser jQuery pour faire des appels AJAX, mais parce que j'ai cartographie wildcard (.NET) dans IIS 6 sous tension, il ne semble pas fonctionner. La désactivation de la cartographie fait tout comme par magie fonctionne.

J'ai mis l'attribut de méthode Web sur les méthodes à la fois une page .aspx et un service Web .asmx, mais aucun travail. Voici l'URL d'exemple que j'utilise pour les appels AJAX:

localhost/UserChecker.aspx/CheckIfUserEmailsExists

localhost/UserChecker.asmx/CheckIfUserEmailsExists

Je dis qu'il doit être quelque chose de la façon dont .NET interprète de l'URL, mais je ne suis pas tout à fait sûr pourquoi. Plus important encore, je ne sais pas comment le résoudre, autre que de désactiver le mappage de wild card! Y at-il une autre façon ???

UPDATE
Le CMS J'utilise (Kentico) fait un peu de routage d'URL, mais même si je saute sur le routage dans le code Global.asax.cs, je reçois encore 404.
Merci d'avance!

Était-ce utile?

La solution

Avec le mappage de caractères génériques sur IIS se déroulera la demande initiale par l'intermédiaire du gestionnaire générique première. Ce sera fait avant toute réécriture d'URL (ou le routage d'URL) par votre CMS.

Je pense que c'est la raison pour laquelle vous obtenez 404.

Vous pouvez aussi désactiver « vérifier le fichier existe » case à cocher sur le mappage générique pour répondre au scénario lorsque l'URL sera plus tard réécrite à autre chose.

Autres conseils

Ce n'est pas une réponse complète mais j'espère que vous pointe dans la direction d'une solution.

Avez-vous essayé d'accéder à l'URL directement dans un navigateur et utilisant des points d'arrêt bien placés pour traquer le problème?

Si vous obtenez 404s il semble que vos règles de routage ne fonctionnent pas.

[Je mettrai à jour si vous pouvez donner un peu plus d'informations sur le comportement que vous voyez]

UPDATE

Je pense que ce qui pourrait se produire est la suivante:

Vous fournissez un mappage séparé pour vos fichiers avec des extensions (dans ces cas .aspx et .asmx):

localhost / UserChecker.aspx / CheckIfUserEmailsExists

localhost / UserChecker.asmx / CheckIfUserEmailsExists

Ces correspondances sont utilisées lorsque vous activez les mises en correspondance de cartes sauvages au large, et les « / CheckIfUserEmailsExists » est manipulé utilisé ou ignoré. Lorsque vous activez les applications génériques de votre routage n'informe pas votre application comment « route » correctement.

Si vous avez supprimé les extensions (avec correspondances génériques activées) fait les travaux suivants?

localhost / UserChecker / CheckIfUserEmailsExists

Ajoutez les URL appropriées à la liste d'exclusion: Utilisez le paramètre « URL » dans l'exclus onglet Manager-> Paramètres du site. ( base documentation d'aide )

Je suggère de vérifier l'URL en dehors de votre cadre de la CMS; Question doit être avec le routage d'URL. Non tsure comment il travaillait sans la mise en correspondance de cartes sauvages.

Questions à comprendre: 1.Did vous avez votre course CMS lorsque vous essayez sans mappage de carte sauvage? 2. Comment ce système CMS interagissent avec IIS; dll IASPI? ou HTTP gestionnaires / modules?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top