2009-08-27 7 views
0

Je suis très nouveau à l'ensemble des choses Ajax/Asp.Net donc ...Asp.Net options d'implémentation côté serveur pour le site Ajax

Je sais qu'il ya au moins quelques façons différentes de mettre en œuvre la côté serveur d'un site Asp.Net activé par Ajax. L'une des façons est d'ajouter des méthodes statiques au code-behind de votre page aspx et de les marquer avec l'attribut WebMethod. Une autre solution consiste à utiliser un fichier de service Web ASMX distinct (dont je ne connais rien :)). Quelles sont les options les plus couramment utilisées pour implémenter le côté serveur?

Quels sont les avantages et les inconvénients de chacun? Et comment chacun se débrouille-t-il du point de vue de la sécurité et de la session? (S'assurer que le serveur sait de quelle session provient la requête Ajax et s'assurer que seuls les utilisateurs connectés sont répondus?)

Répondre

1

Typiquement j'aime utiliser jQuery pour faire les demandes à la page .ashx qui est responsable de la lecture des données et renvoyer le JSON à la page à traiter. Il semble que les autres options que vous avez suggérées soient plutôt compliquées en comparaison.

+0

Le .ashx est beaucoup plus simple à utiliser – mcjabberz

0

Les deux options les plus couramment utilisées sont

  1. Microsoft ASP.Net AJAX
  2. JQuery en partenariat avec webservices ou gestionnaires de requêtes (comme la réponse de Jon)

ASP.Net Microsoft AJAX est un cadre qui tourne autour de deux contrôles serveur - le ScriptManager et le UpdatePanel. C'est un peu plus lourd que les autres options, mais c'est certainement un moyen simple d'ajaxifier votre site. Vous utilisez simplement un UpdatePanel pour entourer la partie de la page que vous souhaitez être asynchrone, et tous vos contrôles qui effectuent des postbacks (boutons, liens, etc.) deviennent automatiquement des demandes asynchrones qui ne mettront à jour que cette partie de la page. Pas de codage ou quoi que ce soit. Si vous envisagez d'utiliser la route webservice, ASMX n'est pas la solution: il s'agit essentiellement d'une technologie «héritée» et vous devriez envisager d'utiliser les services WCF à la place.

Questions connexes