Reputation: 2351
I have read: How do I disable VsHub.exe in the system tray? and https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off
I would prefer to not disable vshub; I just want it to be more quiet when I am using fiddler. Right now it spams everything else out, and I cannot do general debugging.
Does anybody know a workaround? Can I block vshub from showing up in fiddler without blocking the rest of locahost?
Upvotes: 201
Views: 48425
Reputation: 1321
These requests seem to come from the Diagnostic Tools window which runs when debugging. Seems as though they provide the monitoring information for Memory Usage and CPU Usage.
You can stop the requests if you don't care to see the usage information by disabling Memory/CPU monitoring in the Diagnostic Tools dialog box.
Upvotes: 132
Reputation: 525
This is an easier alternative to hide the vshub traffic.
Go to Tools > Fiddler Options > Connections tab and add http://localhost:49155
to the bypass list. This will skip all traffic posted to that URL.
*Edit: Fiddler may need to be restarted after adding to the bypass list.
Upvotes: 20
Reputation: 19212
For me, the fix to stop "spamming" to Fiddler4, instead of a Fiddler filter, which I could have chosen to do, was to change a Visual Studio 2015 option:
Visual Studio 2015 -> Tools -> Options -> Debugging -> General -> uncheck/disable "Enable Diagnostic Tools while debugging"
VSHUB.exe service must be the service that assists Diagnostic tools while debugging and is continously pinging your website/webapi/web app you are debugging. I do not need debugging. Diagnostic tools at this time so I just disabled it in Visual Studio
In regards to disabling VSHUB.exe, I was tempted to do that, until I read from someone at Microsoft, its best to not disable it for a better Visual Studio 2015 experience and they add new features to Visual Studio that utilize VSHUB.exe over time:
How do I disable VsHub.exe in the system tray?
Upvotes: 89
Reputation: 4020
This is a relatively new problem because System.NET used to ignore proxy settings for localhost, and therefore Fiddler wouldn't see the traffic by default (http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp) - see bottom section.
Now this no longer appears to be the case, so I expect more people will have the same question. Fiddler supports several ways to filter requests, though nothing that the client can control (which is probably good, since you wouldn't want malware from excluding its traffic). The most appropriate and simplest mechanism in this case is probably to set a filter for any url that contains localhost or vshub. You can do that by:
This filter will persist, so if you shutdown Fiddler and start it up again later, it will still be set.
Upvotes: 267
Reputation: 1660
The issue is caused by Visual Studio's Diagnostic Tools while debugging.
You can disable them by going to Tools ➜ Options, and then following the steps:
Upvotes: 21
Reputation: 1
The above didn't work for me, as such. It seemed to shut down ALL fiddler monitoring of the localhost host.
A bit of judicious googling gave me another solution - to block the port specifically by adding this to the bottom of the OnBeforeRequest section:
if (oSession.host=="localhost:49155"){
oSession["ui-hide"] = "true";
}
This seems to block the port from being reported in Fiddler, without disrupting further localhost traffic.
Upvotes: 0
Reputation: 19088
SpokaneDJ's answer was very helpful for me and worked great, but I don't spend a lot of time with Fiddler so it took me a minute to remember how to do this! Here are the specific instructions.
First, within the Fiddler UI, go to Rules
> Customize Rules
. Search for the OnBeforeResponse
function. It should look like this:
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
}
Now add the following if
block after the existing one (substituting your vshub host/port if different):
if (oSession.HostnameIs("localhost:49155")){
oSession["ui-hide"] = "hiding vshub"; // String value not important
}
Your OnBeforeResponse
function should now look like this:
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
}
}
Upvotes: 2
Reputation: 131
The easiest way to resolve this is to setup a filter in fiddler. In the OnBeforeResponse, add the second if with your vshub host/port:
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
}
}
Upvotes: 9