Jest to stosunkowo nowy problem, ponieważ System.NET ignorował ustawienia proxy dla localhost, a zatem Fiddler domyślnie nie widział ruchu ( http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp ) - patrz dolna część.
Teraz już tak nie jest, więc spodziewam się, że więcej osób będzie miało to samo pytanie. Fiddler obsługuje kilka sposobów filtrowania żądań, chociaż nic nie jest w stanie kontrolować klient (co prawdopodobnie jest dobre, ponieważ nie chcesz, aby złośliwe oprogramowanie wykluczało jego ruch). Najodpowiedniejszym i najprostszym mechanizmem w tym przypadku jest prawdopodobnie ustawienie filtra dla dowolnego adresu URL zawierającego localhost lub vshub. Możesz to zrobić przez:
- Kliknij kartę filtrów (jest to karta najwyższego poziomu, na tym samym poziomie, co inspektorzy, statystyki itp.),
- Zaznacz pole wyboru oznaczone „Użyj filtrów”
- Przewiń w dół i znajdź pole wyboru „Ukryj, jeśli URL zawiera”.
- Zaznacz to pole i wpisz localhost lub vshub w towarzyszącym polu tekstowym.
- Powinieneś natychmiast zobaczyć zatrzymanie ruchu vshub.
Ten filtr będzie się utrzymywał, więc jeśli zamkniesz Fiddlera i uruchomisz go później, nadal będzie ustawiony.
re: ...why Visual Studio is making these requests
... cóż, dzieje się tak, ponieważ procesy komunikują się ze sobą za pośrednictwem protokołu HTTP na adapterze pętli zwrotnej. . Ten ruch został wygenerowany „przez chwilę” teraz; niedawno zmieniono to, że jest domyślnie widoczne dla serwerów proxy HTTP ... więc nie jestem pewien, dlaczego uważasz to za błąd.Te żądania wydają się pochodzić z okna narzędzi diagnostycznych, które jest uruchamiane podczas debugowania. Wydaje się, że dostarczają one informacji o monitorowaniu zużycia pamięci i wykorzystania procesora.
Możesz zatrzymać żądania, jeśli nie chcesz zobaczyć informacji o użyciu, wyłączając monitorowanie pamięci / procesora w oknie dialogowym Narzędzia diagnostyczne.
źródło
Dla mnie poprawką, aby zatrzymać „spamowanie” Fiddler4, zamiast filtru Fiddler, co mogłem wybrać, była zmiana opcji Visual Studio 2015:
Visual Studio 2015 -> Narzędzia -> Opcje -> Debugowanie -> Ogólne -> odznacz / wyłącz „Włącz narzędzia diagnostyczne podczas debugowania”
Usługa VSHUB.exe musi być usługą, która pomaga narzędziom diagnostycznym podczas debugowania i stale pinguje twoją stronę / webapi / aplikację sieciową, którą debugujesz. Nie potrzebuję debugowania. Narzędzia diagnostyczne w tej chwili, więc właśnie wyłączyłem je w Visual Studio
Jeśli chodzi o wyłączenie VSHUB.exe, miałem ochotę to zrobić, dopóki nie przeczytałem od kogoś w firmie Microsoft, najlepiej nie wyłączać go, aby uzyskać lepszą obsługę programu Visual Studio 2015 i dodają nowe funkcje do programu Visual Studio korzystającego z VSHUB.exe czas:
Jak wyłączyć VsHub.exe w zasobniku systemowym?
źródło
Przyczyną tego problemu są narzędzia diagnostyczne programu Visual Studio podczas debugowania.
Możesz je wyłączyć, przechodząc do Narzędzia ➜ Opcje , a następnie wykonując następujące czynności:
źródło
Jest to łatwiejsza alternatywa do ukrycia ruchu vshub.
Przejdź do Narzędzia> Opcje Fiddler> zakładka Połączenia i dodaj
http://localhost:49155
do listy obejść. Spowoduje to pominięcie całego ruchu opublikowanego pod tym adresem URL.* Edycja: Fiddler może wymagać ponownego uruchomienia po dodaniu do listy obejść.
źródło
Najłatwiejszym sposobem rozwiązania tego problemu jest skonfigurowanie filtra w skrzypaczu. W OnBeforeResponse dodaj drugą, jeśli z twoim hostem / portem vshub:
źródło
Odpowiedź SpokaneDJ była dla mnie bardzo pomocna i działała świetnie, ale nie spędzam dużo czasu z Fiddlerem, więc zapamiętanie jak to zrobić zajęło mi minutę! Oto szczegółowe instrukcje.
Najpierw w interfejsie Fiddler przejdź do
Rules
>Customize Rules
. WyszukajOnBeforeResponse
funkcję. To powinno wyglądać tak:Teraz dodaj następujący
if
blok po istniejącym (zastępując host / port vshub, jeśli jest inny):Twoja
OnBeforeResponse
funkcja powinna teraz wyglądać następująco:źródło
Powyższe nie działało dla mnie jako takie. Wydawało się, że zamyka WSZYSTKIE monitorowanie skrzypcowego hosta localhost.
Trochę rozsądnego googlinga dało mi inne rozwiązanie - konkretnie zablokować port, dodając to na dole sekcji OnBeforeRequest:
To wydaje się blokować raportowanie portu w Fiddler, bez zakłócania dalszego ruchu localhost.
źródło