Visual Studio 2015 Vshub est un violoneur de spam

201

J'ai lu: Comment désactiver VsHub.exe dans la barre d'état système? et https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off

Je préférerais ne pas désactiver vshub; Je veux juste qu'il soit plus silencieux lorsque j'utilise un violoneux. En ce moment, il spams tout le reste, et je ne peux pas faire de débogage général.

Quelqu'un connaît-il une solution de contournement? Puis-je empêcher vshub d'apparaître dans le violoniste sans bloquer le reste de locahost?

Greg Netland
la source

Réponses:

268

Il s'agit d'un problème relativement nouveau car System.NET avait l'habitude d'ignorer les paramètres de proxy pour localhost, et donc Fiddler ne verrait pas le trafic par défaut ( http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp ) - voir la section du bas.

Maintenant, cela ne semble plus être le cas, donc je m'attends à ce que plus de gens se posent la même question. Fiddler prend en charge plusieurs façons de filtrer les demandes, mais rien que le client puisse contrôler (ce qui est probablement bon, car vous ne voudriez pas que les logiciels malveillants excluent leur trafic). Le mécanisme le plus approprié et le plus simple dans ce cas est probablement de définir un filtre pour toute URL contenant localhost ou vshub. Vous pouvez le faire en:

  1. Cliquez sur l'onglet filtres (c'est un onglet de niveau supérieur, au même niveau que les inspecteurs, les statistiques, etc.),
  2. Cochez la case intitulée «Utiliser les filtres»
  3. Faites défiler vers le bas et trouvez la case à cocher intitulée «Masquer si l'URL contient».
  4. Cochez cette case et entrez localhost ou vshub dans la zone de texte correspondante.
  5. Vous devriez voir l'arrêt du trafic vshub immédiatement.

Ce filtre persistera, donc si vous arrêtez Fiddler et le redémarrez plus tard, il sera toujours défini.

Anson Horton
la source
4
Merci, @Anson. Cacher cette énorme quantité de demandes rendra Fiddler réutilisable. Mais cela reste bien sûr un problème grave. Cela vous fait également vous demander pourquoi Visual Studio, ou tout processus ultérieur qui en découle, effectue ces demandes en premier lieu (retorical). Si cela ne vous dérange pas également, ajoutez un vote sur le bogue MS Connect # 1919828 et / ou via le problème ASP.NET MVC # 3655 .
Juliën
4
Juste pour ajouter, vous pouvez utiliser le || dans la zone "Masquer si l'URL contient" si vous souhaitez masquer d'autres requêtes comme le lien du navigateur.
Nick Spicer
4
@Moriarty re: ...why Visual Studio is making these requests... eh bien, c'est parce que les processus communiquent entre eux via HTTP sur l'adaptateur de bouclage. . Ce trafic est généré depuis "un certain temps" maintenant; il a été récemment modifié qu'il est visible par défaut sur les proxys HTTP ... donc je ne sais pas vraiment pourquoi vous considéreriez cela comme un bug.
K. Alan Bates
2
Ce qui est un effet secondaire des nouveaux outils de débogage à distance dans Visual Studio 2015, je suis presque sûr. Particulièrement lié au débogage multiplateforme pour Cordova sur les appareils Apple, je parierais davantage. Ils ont probablement construit ces changements d'une manière leur permettant de l'étendre à d'autres plateformes plus tard, d'où le changement global.
Bon
1
Ce n'est pas la bonne solution. Cela cache simplement le problème. Les solutions ci-dessous pour supprimer les outils de diagnostic lors du débogage dans VS sont la vraie solution.
Rafi
132

Ces demandes semblent provenir de la fenêtre des outils de diagnostic qui s'exécute lors du débogage. On dirait qu'ils fournissent les informations de surveillance pour l'utilisation de la mémoire et l'utilisation du processeur.

Vous pouvez arrêter les demandes si vous ne souhaitez pas voir les informations d'utilisation en désactivant la surveillance de la mémoire / du processeur dans la boîte de dialogue Outils de diagnostic.

  • Ouvrez la fenêtre Outils de diagnostic (Débogage -> Windows -> Afficher les outils de diagnostic)
  • Cliquez sur le menu déroulant "Sélectionner les outils" et décochez Utilisation de la mémoire et Utilisation du processeur.
  • Arrêtez le débogage et la prochaine fois que vous commencerez le débogage, vous ne devriez plus voir les demandes envoyées à vshub
Alex
la source
10
Voilà la bonne solution. Il s'est immédiatement débarrassé de tout le spam. Pour l'instant, je ne me soucie pas du CPU / de la mémoire, j'ai besoin que mon violoniste reste propre pour que je puisse l'utiliser correctement. Tellement grand Merci à toi Alex pour ce correctif.
Pic Mickael
6
Cela ne vous aidera qu'une seule fois, mais vous pouvez désactiver les "Outils de diagnostic" dans Vusial Studio ici: Outils -> Options -> Débogage -> Général -> case à cocher "Activer les outils de diagnostic pendant le débogage"
Andrey Prokhorov
1
Je n'arrive pas à trouver le menu déroulant "Sélectionner les outils" (dans Visual Studio 2015). Une idée d'où il est?
Per Lundberg
1
@PerLundberg Si vous ne trouvez pas "Select Tools" essayez la réponse de Brian ci-dessous (identique à celle d'Andrey dans ces commentaires). C'est maintenant ma solution préférée pour garder la surveillance Mémoire / CPU désactivée à tout moment. Si j'en ai besoin, je sais comment l'activer.
Alex
Notez que si vous êtes dans une session de débogage et que vous faites l'option d'Alex, alors que votre surveillance de la mémoire / CPU s'arrêtera, les demandes ne seront pas jusqu'à ce que vous arrêtiez et redémarriez votre session de débogage! J'ai découvert ça à la dure.
vapcguy
88

Pour moi, le correctif pour arrêter le «spam» sur Fiddler4, au lieu d'un filtre Fiddler, que j'aurais pu choisir, était de changer une option Visual Studio 2015:

Visual Studio 2015 -> Outils -> Options -> Débogage -> Général -> décochez / désactivez «Activer les outils de diagnostic pendant le débogage»

entrez la description de l'image ici

Le service VSHUB.exe doit être le service qui assiste les outils de diagnostic lors du débogage et envoie une requête ping continue à votre site Web / webapi / application Web que vous déboguez. Je n'ai pas besoin de débogage. Outils de diagnostic en ce moment, je viens de le désactiver dans Visual Studio

En ce qui concerne la désactivation de VSHUB.exe, j'ai été tenté de le faire, jusqu'à ce que je lise quelqu'un de Microsoft, il est préférable de ne pas le désactiver pour une meilleure expérience Visual Studio 2015 et ils ajoutent de nouvelles fonctionnalités à Visual Studio qui utilisent VSHUB.exe sur temps:

Comment désactiver VsHub.exe dans la barre d'état système?

Brian Ogden
la source
@BrianOgden Phew! Je vous remercie. Enfin, une réponse VS 2015. Les menus de Visual Studio ont beaucoup changé au fil des versions. Tout à coup, cet outil - VsHub - est devenu bancal, et je ne sais pas pourquoi. Avec les mises à jour automatiques de Windows 10, cela aurait pu être cela à mon insu.
octopusgrabbus le
Remarque pour quiconque le fait de cette façon, si vous le faites au milieu d'une session de débogage, vos demandes ne cesseront pas d'être capturées dans Fiddler jusqu'à ce que vous arrêtiez et redémarriez votre session de débogage.
vapcguy
21

Le problème est dû aux outils de diagnostic de Visual Studio lors du débogage.

Vous pouvez les désactiver en allant dans OutilsOptions , puis en suivant les étapes: entrez la description de l'image ici

Sergey
la source
Joli graphique. Brian Ogden vous a déjà battu, cependant - réponse en double. Remarque pour quiconque le fait de cette façon, si vous le faites au milieu d'une session de débogage, vos demandes ne cesseront pas d'être capturées dans Fiddler jusqu'à ce que vous arrêtiez et redémarriez votre session de débogage.
vapcguy
@vapcguy Je dois admettre que ma réponse n'est pas différente mais j'ai été la première à publier un graphique. Brian a modifié sa réponse plus tard pour inclure le graphique. C'est bien, cependant, tant que les gens obtiennent leurs réponses.
Sergey
20

Il s'agit d'une alternative plus simple pour masquer le trafic vshub.

Accédez à Outils> Options du violoneux> onglet Connexions et ajoutez-le http://localhost:49155à la liste de contournement. Cela ignorera tout le trafic publié sur cette URL.

* Modifier: Fiddler peut avoir besoin d'être redémarré après l'ajout à la liste de contournement.

mikro
la source
2
Cette modification a été appliquée uniquement après le redémarrage de Fiddler.
Bassem
@Bassem, Il a également sans redémarrer pour le mien.
Smit Patel
9

Le moyen le plus simple de résoudre ce problème est de configurer un filtre dans fiddler. Dans OnBeforeResponse, ajoutez le second if avec votre hôte / port vshub:

  static function OnBeforeResponse(oSession: Session) {
    if (m_Hide304s && oSession.responseCode == 304) {
        oSession["ui-hide"] = "true";
    }

    if (oSession.HostnameIs("localhost:49155")){
        oSession["ui-hide"] = "hiding vshub"; // String value not important
    }


    }
SpokaneDJ
la source
2

La réponse de SpokaneDJ m'a été très utile et a très bien fonctionné, mais je ne passe pas beaucoup de temps avec Fiddler, il m'a donc fallu une minute pour me rappeler comment faire cela! Voici les instructions spécifiques.


Tout d'abord, dans l'interface utilisateur de Fiddler, accédez à Rules> Customize Rules. Recherchez la OnBeforeResponsefonction. Ça devrait ressembler à ça:

static function OnBeforeResponse(oSession: Session) {
  if (m_Hide304s && oSession.responseCode == 304) {
    oSession["ui-hide"] = "true";
  }
}

Ajoutez maintenant leif bloc suivant après celui existant (en remplaçant votre hôte / port vshub s'il est différent):

    if (oSession.HostnameIs("localhost:49155")){
      oSession["ui-hide"] = "hiding vshub"; // String value not important
    }

Votre OnBeforeResponsefonction devrait maintenant ressembler à ceci:

  static function OnBeforeResponse(oSession: Session) {
    if (m_Hide304s && oSession.responseCode == 304) {
        oSession["ui-hide"] = "true";
    }

    if (oSession.HostnameIs("localhost:49155")){
        oSession["ui-hide"] = "hiding vshub"; // String value not important
    }
  }
Brian Lacy
la source
0

Ce qui précède n'a pas fonctionné pour moi en tant que tel. Il a semblé arrêter TOUS les surveillants violonistes de l'hôte local.

Un peu de recherche judicieuse sur Google m'a donné une autre solution - pour bloquer spécifiquement le port en l'ajoutant au bas de la section OnBeforeRequest:

if (oSession.host=="localhost:49155"){
    oSession["ui-hide"] = "true";
}

Cela semble empêcher le port d'être signalé dans Fiddler, sans perturber le trafic local supplémentaire.

Rich Howard
la source
1
Vous devez mentionner la réponse à laquelle vous faites référence comme "ci-dessus", car les réponses peuvent varier de haut en bas en fonction de plusieurs facteurs.
Sergey
Bon point. À l'époque, elle s'appliquait à toutes les autres solutions, mais il semble que d'autres aient été ajoutées depuis. Je garderai cela à l'esprit à l'avenir.
Rich Howard