La forma en que funciona Stack Overflow difiere en dos aspectos importantes de ese artículo de CodeProject.
desbordamiento de pila está haciendo su petición AJAX en contra de una acción del controlador ASP.NET MVC, no una página ASPX independiente. Puede considerar esto como el análogo MVC de un método de página ASP.NET AJAX. En ambos casos, el método ASPX se retrasará en términos de rendimiento.
La solicitud AJAX de Stack Overflow devuelve un resultado serializado JSON, texto llano no arbitrario o HTML. Esto hace que su manejo en el lado del cliente sea más estandarizado y generalmente más limpio.
Por ejemplo: cuando voté a esta pregunta se hizo una solicitud a XmlHttpRequest/preguntas/171000/voto, con un "voteTypeId" de 2 en los datos POST.
El controlador que maneja la solicitud añadió mi voto a una mesa en algún lugar y luego respondió con esta JSON:
{"Success":true,"NewScore":1,"Message":"","LastVoteTypeId":2}
Gracias a esta información, este JavaScript se encarga de la actualización de la pantalla del lado del cliente:
var voteResult = function(jClicked, postId, data) {
if (data.Success) {
jClicked.parent().find("span.vote-count-post").text(data.NewScore);
if (data.Message)
showFadingNotification(jClicked, data.Message);
}
else {
showNotification(jClicked, data.Message);
reset(jClicked, jClicked);
if (data.LastVoteTypeId) {
selectPreviousVote(jClicked, data.LastVoteTypeId);
}
}
};
Si está utilizando WebForms, el ejemplo de los métodos de página de llamada que encontró en mi blog está definitivamente en el estadio correcto.
Sin embargo, le sugiero que considere un servicio web para cualquier funcionalidad centralizada (como este ejemplo de votación), en lugar de métodos de página. Los métodos de página parecen ser un poco más fáciles de escribir, pero también tienen algunos inconvenientes de reutilización y tienden a proporcionar una ilusión de seguridad adicional que realmente no existe.
Este es un ejemplo de hacer la misma cosa que pueda encontrar, pero con los servicios web (los comentarios de esta entrada en realidad dirigido a la entrada que encontró):
http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/
gracias por esto ... Aprecio tu blog también. –
No hay problema. Espero eso ayude. –
Quiero expresar una cosa más en esta respuesta. use métodos de página SI la solución no es para un sistema centralizado. –