Lorsqu'un utilisateur clique sur un bouton, j'utilise le ThreadPool.QueueUserWorkItem
pour générer un thread qui lance un long processus en cours. Je voudrais rendre un bouton visible lorsque le fil est terminé afin que l'utilisateur puisse cliquer dessus.ThreadPool.QueueUserWorkItem a terminé l'événement?
Y at-il un événement achevé en ThreadPool
Que suis-je en train de faire?
Une des pages possède un bouton lorsque vous cliquez sur se connecte à un WS et lance un long processus qui crée un fichier. Pendant le temps de traitement, je voudrais montrer une barre de progression à l'utilisateur. Une fois le traitement terminé, je voudrais fournir un lien vers le fichier qui a été créé. De nombreux utilisateurs vont cliquer sur le bouton en même temps que cela crée des fichiers différents. Je suppose que vous appelez cela une demande unique qui peut être mise en œuvre en utilisant l'approche Async?
Qs rapide sur les pages Async:
Le lien MSDN a le code suivant:
AddOnPreRenderCompleteAsync ( nouvelle BeginEventHandler (MyBeginMethod), nouvelle EndEventHandler (MyEndMethod) );
Il semble que le MyBeginMethod
est Démarré le chargement de la page, sera le même travail d'extrait de code pour moi si je veux lancer le processus async sur un bouton clic?
- Puis-je accéder aux commandes de l'interface utilisateur dans
MyBeginMethod
etMyEndMethod
méthodes (pour que je puisse faire un bouton de fichier de téléchargement visible sur l'achèvement du processus? Ou est-ce un autre thread propriétaire de ces contrôles?
Réponse mise à jour. En outre, je passerais les pages asynchrones. Le modèle de page asynchrone est sacrément confus pour le nouveau développeur (j'ai six ans et ça me désoriente encore!). Vérifiez ma réponse pour une bonne solution. – Will