Visual Studio 2015 Update 1 spamming localhost


118

Ho installato Visual Studio Update 1 ieri e ora durante l'esecuzione dei servizi ASP.NET localmente su IIS (non la versione express). Vedo centinaia di richieste al secondo all'indirizzo

 http://localhost:49155/vshub/ca9dea4b016f45c68a6a8c1a07809eb4/DataWarehouseModule/dataWarehouse/getStatus/ 

Cosa sta causando questo ed è prevenibile?


30
VSHub è il componente che mostra la CPU in tempo reale e l'utilizzo della memoria durante il debug. Non è necessario utilizzarlo, disattivarlo con Strumenti> Opzioni> Debug> Generale> deselezionare "Abilita strumenti di diagnostica durante il debug". O semplicemente non essere infastidito da quelle belle funzionalità di debug.
Hans Passant

5
Beh, è ​​fastidioso quando usi il violinista ... grazie a KyleUp per una buona soluzione
Poku

Risposte:


109

Un'altra opzione per impedire al violinista di masticare la tua CPU è scrivere una regola in fiddler per ignorare quelle richieste. Vai a regole> Personalizza regole ... trova la funzione OnBeforeRequest e aggiungi

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

quindi il mio assomiglia a questo:

static function OnBeforeRequest(oSession: Session) {
    if(oSession.oRequest.headers["host"]=="localhost:49155"){
        oSession["ui-hide"] = "true";
    }
}

come ha sottolineato @matrixugly, la porta può essere diversa a seconda della versione di VS. La soluzione di @ tedd-hansen potrebbe essere migliore in tutte le versioni di visual studio.

if(oSession.oRequest.headers["host"].StartsWith("localhost") 
    && oSession.PathAndQuery.StartsWith("/vshub/")) {
    oSession["ui-hide"] = "true";
}

Ecco alcune discussioni su questo problema su GitHub per avere una migliore comprensione di cosa sta succedendo; https://github.com/aspnet/Mvc/issues/3655

Ecco un altro post su SO per lo stesso problema; visual studio 2015 vshub è spamming violinista


2
Ho appena eseguito l'aggiornamento a VS2015 Update 2 questa mattina e le mie richieste vshub hanno "localhost: 49160". Non sono sicuro che VS utilizzi una porta diversa per ogni versione. Probabilmente potrebbe aggiornare la condizione per vedere se "host" inizia con localhost e l'URL inizia con / vshub /
C. Tewalt

51

Questo è il debugger che invia le informazioni al processo VSHub. È la comunicazione interna tra i due processi in modo che parte della raccolta dei dati del debugger possa avvenire fuori processo.

Aiuta con i suggerimenti del debugger, le informazioni sulle prestazioni, l'esperienza di debug storica e altro ancora. Pertanto, non c'è modo di spegnerlo senza compromettere seriamente le funzionalità avanzate del debugger.

È possibile disattivare alcune di queste funzionalità (sebbene altre funzionalità possano ancora fare affidamento su Vshub per eseguire lavori fuori processo in background):

Tools> Options> Debugging> General> [  ] Enable Diagnostic Tools while debugging

La comunicazione è puramente locale e non rappresenta un problema o un sovraccarico serio. C'è un motivo specifico per cui vuoi sbarazzartene? Strumenti come Fiddler possono essere configurati per filtrare il processo, quindi ignorare questo traffico dovrebbe essere semplice.


2
Non voglio sbarazzarmi di nessuna nuova funzionalità di debug. Stavo semplicemente vedendo l'utilizzo di risorse della CPU anormalmente elevate (dall'installazione dell'aggiornamento 1 ieri) sia su Fiddler che su VS e ho notato che queste voci apparivano in Fiddler. Devo ancora indagare su nessuna delle nuove funzionalità di debug dell'aggiornamento 1, ma le lascerò attive se mi sarà utile. Saluti.
Fishcake

2
Devo essere d'accordo con @Fishcake sul fatto che questi sono fastidiosi, dover filtrare le chiamate del debugger per vedere le mie chiamate httpclient è un problema. Detto questo, buona idea filtrare. Non avevo idea di cosa fossero.
hal9000

18

Poiché questo si è trasformato in un modo per far sì che Fiddler ignori le richieste, il modo più semplice che ho trovato è andare alla scheda Filtri, sezione Intestazioni richieste, selezionare la casella "Nascondi se l'URL contiene" e inserire "/ vshub /".

Nascondersi con i filtri


7

Mi rendo conto che questa non è la risposta, ma può aiutare gli altri che vengono qui (come me).

Espandendo la risposta data da KyleUp. L'aggiunta di questo al metodo "OnBeforeRequest" è un po 'più generale e impedisce a tutti i messaggi localhost / vshub / debug di riempire la visualizzazione in Fiddler.

if(oSession.oRequest.headers["host"].StartsWith("localhost") 
   && oSession.PathAndQuery.StartsWith("/vshub/")) {
    oSession["ui-hide"] = "true";
}

3

Questa è un'alternativa più semplice per nascondere il traffico localhost di vshub.

Vai su Strumenti> Opzioni di Fiddler> scheda Connessioni e aggiungi http://localhost:49155all'elenco di esclusione. Questo salterà tutto il traffico inviato a quell'URL.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.