J’ai récemment essayé d’utiliser backgroundworker au lieu de threads «classiques» et je me rends compte que cela cause, au moins pour moi, plus de problèmes que de solutions. J’ai un travailleur de fond exécutant une lecture synchrone (dans ce cas, à partir de serialPort) et se trouvant bloqué pendant environ 30 secondes dans une ligne […]
Lorsque mon application C # se ferme, elle est parfois prise dans la routine de nettoyage. Plus précisément, un travailleur d’arrière-plan ne ferme pas. Voici comment je tente de le fermer: Void privé App_FormClosing (expéditeur d’object, FormClosingEventArgs e) {backgroundWorker1.CancelAsync (); tandis que (backgroundWorker1.IsBusy); // est bloqué ici. } Y at-il une manière différente que je […]
Question simple, pour répéter le titre: La fermeture de l’application WinForms arrête-t-elle tous les BackgroundWorkers actifs?
Le nom de la question est: ” Mise à jour de l’interface graphique à partir d’un agent d’arrière-plan “, mais le nom correct du monde doit être: ” Mise à jour de l’interface graphique à partir d’un agent d’arrière-plan OU rapportant plusieurs variables (autres qu’un entier) à partir de l’agent d’arrière-plan ” S’il vous plaît […]
J’ai un formulaire où l’on peut se connecter et cela peut prendre un certain temps avant que les données soient chargées dans le formulaire. J’ai donc voulu créer un formulaire séparé (loadScreen.cs) avec une barre de progression lors du chargement du formulaire. J’ai essayé ceci sous la forme loadScreen.cs: private void Form1_Load(object sender, EventArgs e) […]
C # 2008 J’utilise le code ci-dessous pour me connecter à un softphone. Cependant, le processus de connexion est un processus long, car de nombreuses choses doivent être initialisées et vérifiées. Je n’en ai mis que quelques-unes ici, car cela rendrait le code trop long à publier. Dans le code ci-dessous, je vérifie si CancellationPending […]
Ceci est mon travail de fond, est-ce que l’implémentation prenant en compte le fonctionnement de l’interface graphique est-elle correcte? private void backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { try { ssortingng connectionSsortingng = “Data Source=LPMSW09000012JD\\SQLEXPRESS;Initial Catalog=Pharmacies;Integrated Security=True”; SqlConnection con = new SqlConnection(connectionSsortingng); con.Open(); ssortingng query = “SELECT * FROM dbo.Liguanea_Lane2”; SqlCommand cmd = new SqlCommand(query, con); SqlDataReader […]
J’ai un formulaire Windows qui utilise un backgroundworker. Le backgroundworker instancie un object puis exécute une méthode dans cet object. Mon problème est que lorsque j’utilise backgroundworker.CancelAsync, la méthode en cours d’exécution sur l’object distant ne s’arrête pas. Dans l’exemple ci-dessous, la méthode dowork continue de s’exécuter après avoir cliqué sur le bouton cancel. Pour […]
J’ai essayé de comprendre comment obtenir le texte de ma zone de texte ou une autre propriété à partir d’un agent d’arrière-plan. Est-ce que quelqu’un sait comment faire cela? Je ne peux pas le passer en tant que param, car il doit être en temps réel. Merci pour l’aide!
Tous, je connaissais déjà l’utilisation de base de BackgroundWorker pour gérer plusieurs cas de threads dans WinForm. Et la structure du code ressemble à celle ci-dessous. Dans le fil principal de l’application. commencez juste le BackgroundWork. if (backgroundWorker1.IsBusy != true) { // Start the asynchronous operation. backgroundWorker1.RunWorkerAsync(); } Ensuite, il déclencherait l’événement DoWork . Nous […]