• Extrait de code pour traitement asynchrone en WPF

    Si vous faites un peu de programmation WPF, vous avez certainement dû vous retrouver assez souvent à écrire du code ressemblant à :

    ThreadPool.QueueUserWorkItem
        (new WaitCallback(delegate(object ignored)
        {
            // un appel à un traitement long comme une requête 
            // sql ou un web-service
    
            Dispatcher.BeginInvoke(
                DispatcherPriority.Normal,
                new WaitCallback(delegate(object ignored_too)
                {
                    // le traitement de mise à jour de votre
                    // controle 
                }
                ), null);
        }
        ));
    

    Je vous propose donc un petit extrait de code qui se charge d'écrire cela à votre place (le bonus étant que les namespaces sont importés automatiquement) :

    Une fois installé, vous pourrez utiliser le snippet wpfthreadtask :

    image

    Mots clés Technorati : ,,,,