Question Différence entre une publication et un rappel


Je continue à entendre ces mots 'rappeler' et 'postback'balloté
Quelle est la différence entre deux?

La publication est-elle très spécifique aux pages ASP.NET?


112
2017-12-13 11:02


origine


Réponses:


Une publication se produit lorsque les données (la page entière) de la page sont publiées depuis le client sur le serveur. les données sont publiées sur le serveur, et donc la page est rafraichie (redessinée) ... pensez-y comme 'envoyer au serveur toute la page (asp.net) pleine de données'.

D'autre part, un rappel est également un type spécial de publication, mais c'est juste un aller-retour rapide vers le serveur pour obtenir un petit ensemble de données (normalement), et donc la page n'est pas actualisée, contrairement à la publication (postback) ... pensez-y comme 'appeler le serveur et recevoir certains retour de données'.

Avec Asp.Net, ViewState n'est pas actualisé lorsqu'un rappel est appelé, contrairement à une publication.

La raison pour laquelle la page entière est publiée avec ASP.Net est que ASP.Net renferme toute la page dans un <form> avec un post méthode, et par conséquent, lorsque vous cliquez sur un bouton d'envoi dans la page, le formulaire est envoyé au serveur avec tous les champs du formulaire ... essentiellement la page entière elle-même.

Si vous utilisez Pyromane (pour Firefox), vous pouvez réellement voir les rappels invoqués sur le serveur dans le Console. De cette façon, vous verrez ce que données spécifiques est envoyé au serveur (Request) ainsi que les données que le serveur vous a renvoyées (Response).


L'image ci-dessous illustre les cycles de vie de page d'une publication et d'un rappel dans un site Web basé sur ASP.NET:

Cycles de vie de page ASP.NET http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/ADF/graphics%5Cpage_lifecycle.png


197
2017-12-13 11:06



Une publication est effectuée lorsqu'une demande est envoyée du client au serveur pour la même page que celle actuellement affichée par l'utilisateur. Lorsqu'une publication survient, la page entière est actualisée et vous pouvez voir la progression typique dans la barre de progression au bas du navigateur.

Un rappel, généralement utilisé avec AJAX, se produit lorsqu'une demande est envoyée du client au serveur pour lequel la page n'est pas actualisée. Seule une partie est mise à jour sans que le navigateur ne clignote.


17
2017-12-13 18:59



Je suis d'accord avec la réponse de Dreas, mais j'aimerais ajouter quelques points. Postback est un terme qui est introduit très récemment par la programmation ASP .NET, comme expliqué par Dreas, alors que le rappel est plus générique et a été utilisé de manière bien antérieure au développement Web. En fait, j'ai entendu parler de callback à l'époque où je commençais à programmer en C (peut-être que le terme existait avant, je ne sais pas) et cela signifie simplement un pointeur vers la fonction et ce pointeur vers une fonction est passé à une autre fonction (nommez ce B) qui invoquera plus tard A. Le rappel a également été récemment utilisé par Yahoo UI Connection Manager et d’autres frameworks Ajax mais je crois que le terme a été utilisé pour la première fois dans les anciens C-Days.


5
2017-12-14 05:22



Une grande partie de cette discussion est ASP.NET gobbledygook language ....

La réponse est oui. La publication est un "terme" spécifique à ASP.NET de Microsoft Mais rappelez-vous que des fournisseurs comme Microsoft utilisent leurs propres versions de ces processus autour de leurs propres implémentations, ce qui nous induit en erreur quant à ce que REALY HAPPENS dans le monde Http / Html.

Leur version de POSTBACK est essentiellement une requête HTTP POST traditionnelle renvoyée au serveur d'origine. Mais dans ASP.NET, ils le font en collant un gigantesque tag d’élément FORM HTML (avec attribut de méthode POST) sur toute la page Web plutôt que des contrôles de formulaire traditionnels dans une petite partie d’une page Web. Ils le font parce qu'ils utilisent la spécification HTTP pour maintenir "l'état" de leur page et de ses contrôles, et pour s'assurer que la page entière, même le balisage de champ non formel traditionnel, revient intact.

Malheureusement, cela envoie une énorme quantité de données imprudentes sur le réseau, de sorte que leur VIEWSTATE et sa POSTBACK sœur sur la page sont souvent considérées comme un gaspillage de bande passante et une manière négligée d’implémenter l’état des pages Web. Je peux vous montrer que la plupart des navigateurs et sites Web modernes, s'ils sont conçus à l'aide de fichiers CSS et de balises HTML cohérentes, renvoient naturellement l'état de la page en utilisant le cache HTML natif des navigateurs. Autrement dit, le POSTBACK complet est souvent inutile.

CALLBACK est juste JavaScript. Ses seules astuces de cirque ECMASCRIPT ASP.NET stockent ce qu’elles appellent leur API AJAX dans de gigantesques bibliothèques JavaScript que votre navigateur télécharge depuis le serveur, et que les développeurs ASP.NET intègrent sans le savoir dans leurs pages Web pour déclencher des modifications sans POSTBACK complet. L’API ASP.NET pour AJAX crée tout ce javascript massif qui est côté client et qui est déclenché dans le navigateur lorsque l’utilisateur modifie quelque chose, survole quelque chose ou clique sur un élément du navigateur qui déclenche les événements DOM traditionnels du navigateur JavaScript. envoie ensuite une charge géante de JSON ou d'autres données au serveur pour qu'elles soient traitées. Cela est ensuite renvoyé et accepté par les bibliothèques et objets Javascipted en mémoire dans le navigateur, et modifie certaines parties de la page Web et du balisage des utilisateurs.

Il a déclaré que 5 à 10% des utilisateurs et des navigateurs avaient désactivé le javascript pour que tout ce JSON et AJAX se bloque et se consume. c'est-à-dire que CALLBACK ne fonctionnerait pas.

C'est ce qui se passe dans les coulisses. Une grande partie est excessive, si vous me le demandez. Et c'est pourquoi les modèles Web Control dans ASP.NET ont été critiqués dans le passé.

Si vous abandonniez ASP.NET pendant une seconde, vous pouviez écrire vous-même un simple champ FORM dans une page Web HTML avec un seul champ de saisie et un bouton, puis appuyez dessus pour le publier sur le serveur, exactement comme une page ASP.NET plus rapide et plus simple. C'est ce qu'est le vrai POSTBACK. Le navigateur envoie naturellement au serveur l’en-tête HTTP POST nécessaire pour le faire, mais met le HTML en cache dans le reste de la page, ce qui le rend très rapide.

Pour CALLBACK, vous pouvez simplement ajouter un code Javascript / ECMAScript simple à cette même page HTML où, lorsque l'utilisateur survole du texte ou un bouton, clique ou modifie un champ de formulaire, la page Web ne s'affiche pas avoir Javascript envoyer quelque chose au serveur. Comment vous gérez cela via votre propre JavaScript, JSON ou vos bibliothèques est un autre problème. Mais ce n'est pas magique. Pour les personnes pour lesquelles Javascipt ou Javascript n'est pas désactivé, vous devez concevoir des pages sans CALLBACK et simplement mettre en cache les modifications qui renvoient lorsque vous cliquez sur les contrôles de champ ou les hyperliens. Sa seule raison de reconsidérer les routines de rappel si la plupart des agents utilisateurs modernes sont maintenant configurés pour les routines de site Web ECMAScript.

C'est ce qui confond les gens ...... ces implémentations de fournisseurs de requêtes HTTP très basiques et de trucs Javascript sont superposées dans un langage qui n'est pas clair. Il oblige ensuite les utilisateurs à créer des applications Web monstrueuses qui font tout ce que des codes très simples peuvent résoudre.

J'utilise et recommande toujours ASP.NET. Le chemin est long et le système excellent. Mais il serait utile que davantage de personnes comprennent les bases de leur travail avant de les utiliser, car ces frameworks peuvent être personnalisés et simplifiés un peu pour les améliorer si vous voyez ce qui se passe réellement sous le capot.


3
2018-01-28 01:05



UNE postback est une demande envoyée par un client au serveur à partir de la même page, l'utilisateur travaille déjà avec. "

ASP.NET a été introduit avec un mécanisme pour publier une requête HTTP POST sur la même page. Il affiche essentiellement une page complète sur le serveur (c’est-à-dire l’envoi de toutes ses données) sur la même page. Ainsi, toute la page est rafraîchie.

Pour comprendre comment ce mécanisme de publication fonctionne dans ASP.NET, suivez les étapes simples suivantes:

1.Ajouter une nouvelle page de formulaire Web ASP.NET à un projet, par exemple WebForm1.aspx.

2. Affichez le code de la page dans la vue HTML source. Vous trouverez quelque chose comme l'écran suivant: Regardez la ligne de formulaire du code.

<form id="form1" runat="server">

Il représente une implémentation côté serveur du contrôle de formulaire.

Maintenant, il suffit d'exécuter l'application pour voir la page WebForm1.aspx et afficher son code source. La source HTML de la page affichera l'élément de formulaire comme suit:

<form method="post" action="WebForm1.aspx" id="form1">

Vous pouvez voir qu'un élément de formulaire HTML généré avec une méthode HTTP comme "POST" et action = "WebForm1.aspx". Ainsi, si vous cliquez sur un bouton de soumission, la page sera renvoyée à elle-même par défaut.

UNE rappeler est généralement un appel à l'exécution d'une fonction une fois qu'une autre fonction est terminée. "

Mais si nous essayons de le différencier d'un postback, alors nous pouvons dire: c'est un appel au serveur pour recevoir des données spécifiques au lieu de rafraîchir la page entière comme une publication. Dans ASP.NET, il est réalisé avec AJAX, qui appelle le serveur et met à jour une partie de la page avec des données spécifiques reçues.


1
2018-01-19 05:49



Une publication survient lorsqu'une demande est envoyée à un serveur, sans donner de détails sur la sécurité pour chaque demande.

Lorsque vous faites une demande pour l'autre page, le serveur utilise le rappel


0
2017-12-23 09:43



Une publication est également un aller-retour lorsque la publication est exécutée à ce moment-là. Elle appelle la méthode spéciale appelée «aller-retour». Le retour est du côté du serveur où l'aller-retour se trouve sur le côté client.


0
2018-03-27 02:35