Pourquoi une application se bloque [fermé]

0

J'ai une application de fenêtre développée en C # et c ++. Il comporte une édition client et une édition serveur. L'édition client est installée sur le système XP connecté à l'édition Server installée sur le système Windows 2003. Mais l'interface utilisateur dans le système client se bloque la plupart du temps .Je ne sais pas quelle est la raison

Donc, mon espace de dossier est le problème? chaque fois que je me suis retrouvé dans le système client, j'ai vérifié le gestionnaire de tâches, la colonne de mémoire de l'onglet Process,

J'ai effectué une analyse antivirus et fermé de force l'application suspendue à partir du gestionnaire de tâches. mais encore une fois chaque fois que je recommence à accrocher la plupart du temps

MODIFIER

Donc, voici ma question: toute manipulation sur un fichier hôte entraînera un ralentissement du client. Sur le serveur, je peux voir une entrée dans le fichier hôte comme indiqué ci-dessous. EDIT

Dois-je activer certains services de MMC? Je veux dire services.msc pour une connexion correcte entre le client et le serveur, j'ai démarré le service Remoteregistry maintenant? Certaines mises à jour de sécurité Windows sont en attente. Cela posera-t-il des problèmes tels que le scintillement?

Henric
la source
Avez-vous écrit le logiciel, votre interface utilisateur est-elle mufti-threaded?
0x7c0
nous utilisons STA, même si j’ai fait endprocess pour mon application exe qui utilisait plus de mémoire de takmanger. la prochaine fois quand je l' ai ouvert planifions cette question à venir la plupart du temps
Henric

Réponses:

2

Je n'utilise pas C # mais en général, l'interface utilisateur d'une application peut se bloquer lorsque le code de mise à jour de l'interface n'est pas correctement séparé en un thread distinct des threads utilisés pour les E / S réseau (ou autres tâches non-IU). Dans un tel cas, une réponse lente à un appel réseau peut entraîner une absence de réponse de l'interface utilisateur car l'appel réseau bloque le thread d'interface utilisateur. Cela signifie que les événements d'interface utilisateur (touches enfoncées, clics de souris) sont bloqués.

Les E / S telles que les E / S réseau peuvent souvent être écrites dans des styles bloquants ou non bloquants. L'utilisation d'un style non bloquant peut atténuer les effets de l'absence de code de mise à jour de l'interface utilisateur sur son propre thread.

Cela peut donc être causé par la combinaison d’une application mal écrite et d’un réseau lent ou d’un client mal configuré (adresse incorrecte pour le serveur, par exemple).

Je dirais que l'interface utilisateur d'une application bien écrite ne doit pas être bloquée sauf si le processeur est utilisé à 100%.

Cependant, c'est de la spéculation. Les chances que toute supposition soit correcte sont faibles. Pour de meilleures réponses, vous devrez peut-être fournir plus de détails sur l'application (nom, auteur du logiciel de vente au détail) et exactement quand et comment l'interface utilisateur se «bloque».

RedGrittyBrick
la source
J'ai une question maintenant, je me connectais à distance à une machine Windows XP, par erreur, j'ai fermé explorer.exe, tout à coup tout allé. Maintenant , je ne sais pas comment se connecter à ce machine.When i enterd credntial son montrant blanc
Henric
@Henric: c'est une question distincte. Si je me souviens bien, explorer.exe (pas iexplore.exe) exécute le bureau Windows, vous devez le redémarrer, un redémarrage est le moyen habituel de le faire.
RedGrittyBrick
le point que vous avez mentionné est peut-être correct "o la combinaison d'une application mal écrite et d'un réseau lent ou d'un client mal configuré (adresse incorrecte pour le serveur, par exemple) peut entraîner cette erreur" maintenant, je vérifie le fichier hôte des deux systèmes.
Henric
"Ouvrez le Gestionnaire des tâches (Ctrl + Alt + Suppr ou Ctrl + Maj + Échap). Dans le Gestionnaire des tâches, allez dans Fichier - Nouvelle tâche (Exécuter) - tapez l'explorateur et cliquez sur OK. Cela ramènera le shell." Si vous utilisez RDP, vous devez rechercher les touches à utiliser pour Ctrl + Alt + Dell sur la télécommande plutôt que sur l'ordinateur local.
RedGrittyBrick
super, maintenant je vérifie le fichier hôte des deux systèmes en cas de mauvaise configuration, je vais mettre à jour ma question, merci
Henric