Quelle est la meilleure façon de tenir une page ASP.NET jusqu'à opération se termine de longue durée? [fermé]

StackOverflow https://stackoverflow.com/questions/901954

Question

Javascript?

refresh Metatag?

Response.Redirect (à auto-)

Server.Transfer (à auto-)

panneau de mise à jour Ajax?

Était-ce utile?

La solution

Regardons les options:

  

Javascript?

Cela fonctionne très bien, aussi longtemps que l'utilisateur n'a pas désactivé.

  

refresh Metatag?

Une méthode dépréciée en faveur de la méthode Javascript. Cependant, vous pouvez l'utiliser comme une sauvegarde si l'utilisateur a désactivé Javascript.

  

Response.Redirect (à auto-)

Cela ne fonctionne pas, comme le navigateur ne serait pas montrer anyhing utile pour l'utilisateur tout en réorientant. En outre, le navigateur cesse de demander après un certain nombre de redirections pour protéger l'utilisateur de redirections infinies.

  

Server.Transfer (à auto-)

Ne fonctionne pas non plus, comme le code sur le serveur serait juste boucle sans rien envoyer au navigateur. L'effet est le même que d'avoir simplement une boucle dans votre code.

  

panneau de mise à jour Ajax?

fonctionne très bien, aussi longtemps que n'ont pas désactivé l'utilisateur Javascript. Il est fondamentalement la même que la première option, seul le Javascript fait la demande elle-même au lieu de laisser le navigateur faire la demande.

Autres conseils

Si vous pouvez signaler tout progrès à l'utilisateur, je tends à courir avec un asxh et une variation d'un cadre pour toujours . Ajouter un peu de jQuery UI Dialog et 874204 qui montre la technique.

Si vous ne pouvez pas donner des progrès à l'utilisateur, j'ai tendance à toujours utiliser l'interface utilisateur et dialogue pop un message « S'il vous plaît attendre, le traitement ... » avec un web deux dot oh gif compatible spinny.

Consultez cet article sur Pages Asynchronous . Voici aussi un exemple de CodeProject qui inclut les pages asynchrones et meta-refresh.

Vous pouvez trouver un exemple d'implémentation de ce type de fonctionnalité à la Chambre Beer Starter Kit- http://www.asp.net/Downloads/starter-kits/the-beer-house/ .

Les pages SendingNewsLetter.aspx et SendNewsLetter.aspx seront utiles pour vous. Cela pourrait être surpuissant pour votre besoin, il montre même si-progression de l'opération à long en cours d'exécution.

Qu'en est-il en utilisant AJAX WebModalAnchor pour faire apparaître une fenêtre avec un bouton d'annulation?

Hope this helps,

Bill

Je vous recommande d'utiliser l'Ajax et l'affichage d'un UpdateProgress afin que l'utilisateur sait qu'il barattage encore loin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top