2009-12-18 2 views
2

J'utilise le routage d'URL avec WebForms. Je cours localement à travers le serveur Web de Visual Studio et tout fonctionne correctement. Je me déploie localement sur IIS (XP, donc c'est IIS5), et par conséquent je dois m'assurer que ma carte générique de mapplication est mappée afin que le routage d'URL soit correctement géré.ASP.NET PageMethods et erreur "Le verbe HTTP POST utilisé pour accéder au chemin n'est pas autorisé"

Cependant, cela fait toutes mes PageMethods échouent avec ce message:

The HTTP verb POST used to access path is not allowed 

Quelque chose comme /default.aspx/SendMessage ne fonctionne pas. J'ai vu des solutions qui excluent les fichiers .svx et .asmx, cependant, puisqu'il s'agit d'une méthode de page, il s'agit d'un fichier .aspx. Je sais que la solution est de déplacer ces fichiers en dehors de .aspx, cependant, j'ai un certain nombre de fonctions dans tout le site dans ces différents fichiers. Je suppose que je pourrais créer un seul service Web, et avoir toutes les fonctions là-bas, cependant, je suis curieux de savoir s'il existe un moyen rapide et facile de résoudre ce problème?

Répondre

2

On dirait qu'il n'y a pas moyen de le faire avec IIS5, le mappage générique et le routage d'URL avec PageMethods. J'ai depuis déplacé les fonctions aux services Web appropriés, ce qui est en fait beaucoup plus propre que l'entremêlement des pages aspx avec des méthodes de page ...

4

Ajoutez le code suivant au javascript quelque part après que la méthode PageMethod est définie et avant d'appeler votre PageMethod :

PageMethods.set_path('default.aspx'); 

Cela devrait corriger le problème.

+0

Merci cela a résolu mon problème !! –

Questions connexes