Le but de ce tutoriel est de permettre de lancer des taches longues sans bloquer l'application, et permettre une visualisation en temps réel de l'avancement de la tache.
Pour effectuer cela, nous utiliserons les threads (System.threading) et les extensions AJAX de Microsoft.
Avant de débuter certaines contditions sont requises. L'action longue doit être inégrée a une classe, on doit pouvoir la lancer de cette manière
MonObjet.tacheLongue();
Il faudra pour suivre l'avancement de la tache que la classe possède un attribut public contenant un message qui donne l'état de la tache.
private String messageEtat;
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="messageLabel" runat="server"></asp:Label><br />
<asp:HyperLink ID="actionLink" runat="server" Target="_blank" Visible="False"
Text="Telecharger le fichier généré"></asp:HyperLink><br />
<asp:Timer ID="Timer1" runat="server" Enabled="false" Interval="25" OnTick="Timer1_Tick"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>