11
votes

Que se passe-t-il dans IIS / C # quand une demande est abandonnée

Je pense donc à une fonctionnalité où l'utilisateur colle un lien et le code côté serveur rampe le lien fourni et répond avec le contenu de ce lien (tel que le titre de la page, la description, la vignette, etc.).

L'utilisateur peut paraître modifier le lien et, en le faisant, la demande AJAX doit être abandonnée côté client.

Je me demande ce qui se passe exactement dans le serveur IIS et spécifiquement à mon code C #.

  • est le fil de réponse terminé?
  • L'objet de réponse renvoie-t-il maintenant NULL, ou réponse.write lancer des exceptions?
  • est une exception projetée dans le fil de réponse juste où il est? (que l'on n'a même pas de sens, mais peu importe)

0 commentaires

4 Réponses :


2
votes

Votre serveur Web ne sait pas que le client a annulé la demande. La demande sera toujours remplie et une réponse sera renvoyée. Le script côté client que vous écrivez devra être capable de gérer ce que l'état actuel de votre page devrait être.

Si vous êtes certain que vous ne vous souciez pas de la réponse, je recommanderais d'abandonner le client de la demande- côté: xxx


2 commentaires

Donc, mon code de serveur Web est exécuté à la fin? Quel serait le point d'abandonner une demande, alors?


Donc, il y a généralement deux étapes (simplifiées) à une demande Ajax. 1. Offrez la demande. 2. Faites quelque chose avec la réponse (un rappel de réussite ou d'échec). Si vous abandonnez la demande, vos méthodes de rappel n'auront pas à gérer la réponse.



0
votes

Si vous fermez le côté du client de connexion avant que la réponse soit écrite, une erreur indiquant autant est lancée. Vous pouvez simplement choisir de ne pas gérer la réponse quand elle revient du serveur.


0 commentaires

4
votes

Si le code de serveur vérifie l'état de intervention.isClientConnected , il peut arrêter le travail et produire une réponse vide lorsque le client abandonne la demande, sinon cela ne remplira simplement la demande comme d'habitude. < / p>

La manipulation de la demande ne sera pas automatiquement abandonnée simplement parce que cela ne l'attend plus. Le code serveur doit vérifier activement l'état de la demande.


0 commentaires

0
votes

Une fois qu'une demande est affichée sur Server, IIS commencera à exécuter le code côté serveur. Maintenant, le serveur peut décider si le code doit être exécuté ou non.

Dans tout le cycle de la page, vous pouvez vérifier la demande.isClientConnected comme mentionné par GUffa et mettre fin à l'exécution.

Mais oui, il dépend totalement du scénario que vous avez.

espère que cela aide.


0 commentaires