Si ce sont vos seules options, j'ai trouvé que le service WCF activé par AJAX est le plus simple à utiliser. Il s'agit toujours de WCF, mais il configure pour vous la configuration correcte de web.config et masque l'interface que vous fournit le modèle "Service WCF". Il semble que ce soit la chose la plus proche de tout le désordre de la WCF par rapport à l'ancien style ASMX, en ce sens qu'il est simple d'y aller.
Tout comme une autre alternative, si vous arrive d'être en mesure d'utiliser ASP.NET MVC dans votre projet WebForms et juste besoin de cela pour un appel ajax, vous pouvez sauter le tralala de service Web tout à fait et créer un simple résultat JSON pour votre appel AJAX comme ceci:
// put this method in a controller
public JsonResult AjaxJsonTest(string who) {
var result = new {
Success = true,
Message="Hello, " + (who ?? "world!")
};
return Json(result, JsonRequestBehavior.AllowGet);
}
Et alors vous pouvez l'appeler à partir jQuery comme ceci:
<script language="javascript" type="text/javascript">
function AjaxTestClick() {
$.ajax({
type: "POST",
url: '<%: Url.Action("AjaxJsonTest", "Test") %>',
data: { who: 'whomever' },
success: function (resultData) {
if (resultData.Success) {
alert(resultData.Message);
}
else {
alert('Ajax call failed.');
}
}
});
}
</script>
Des tonnes d'options - choisissez ce qui convient le mieux à votre situation.
@John - puisque @RPM n'a plus de commentaire ici, il apparaît à première vue comme si vous répondiez à @Davita, dont la réponse est la bonne BTW. Le service WCF Ajax-Activé est la voie à suivre - si vous êtes prêt à garder votre nez et utiliser WCF qui est. – mattmc3