Question

J'ai récemment vu un exemple jQuery dans lequel un test POST a été effectué sur "Default.aspx / Test", où Test était un WebMethod dans Default.aspx et où le type de contenu de la requête était "application / json".

La réponse de WebMethod était en JSON. J'ai toujours pensé que WebMethods renvoyait des réponses SOAP, mais si j'interprète correctement ce code, comme je l'ai dit, WebMethod renvoie JSON.

Est-ce correct? WebMethods renvoie-t-il une réponse au format du type de contenu de la demande? Depuis quand est-ce possible? Toujours? Ou est-ce parce que j'ai ASP.NET AJAX installé? Si tel est le cas, quels espaces de noms puis-je désassembler pour voir comment cela fonctionne?

J'ai uniquement utilisé les méthodes WebMethods pour .NET vers .NET, qui étaient au format SOAP, et j'ai toujours écrit du code personnalisé pour répondre au format correct (SOAP, JSON ou XML), en fonction d'un paramètre de chaîne de requête de requête. en spécifiant le format souhaité. J'ai toujours pensé que WCF était nécessaire pour ce type de fonctionnalité métaformat.

Était-ce utile?

La solution

Cela fait partie de ASP.NET AJAX . Voir, par exemple, Utilisation des services Web dans ASP.NET AJAX . Une partie de l'architecture du client AJAX est la suivante:

  

Appelez les services Web en utilisant le verbe HTTP POST. Une demande POST a un corps contenant les données que le navigateur envoie au serveur. Il n'y a pas de limite de taille. Par conséquent, vous pouvez utiliser une demande POST lorsque la taille des données dépasse la limite de taille intrinsèque pour une demande GET. Le client sérialise la demande au format JSON et l'envoie sous forme de données POST au serveur. Le serveur désérialise les données JSON en types .NET Framework et effectue l'appel de service Web. Pendant la réponse, le serveur sérialise les valeurs de retour et les retransmet au client, qui les désérialise en objets JavaScript pour le traitement.

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