我看过: How do I disable VsHub.exe in the system tray? 和 https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off
我宁愿不禁用vshub;当我使用提琴手时,我只是希望它更安静。现在它将其他所有内容都阻止,我无法进行常规调试。
有人知道解决方法吗?我可以阻止vshub出现在小提琴手而不会阻挡其他的locahost吗?
答案 0 :(得分:266)
这是一个相对较新的问题,因为System.NET用于忽略localhost的代理设置,因此Fiddler默认情况下不会看到流量(http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp) - 请参阅底部。
现在情况似乎不再如此,所以我希望更多的人会有同样的问题。 Fiddler支持几种过滤请求的方法,但客户端无法控制(这可能是好的,因为您不希望恶意软件排除其流量)。在这种情况下,最合适和最简单的机制可能是为包含localhost或vshub的任何URL设置过滤器。你可以通过以下方式做到:
此过滤器将保留,因此如果您关闭Fiddler并稍后再次启动它,它仍将被设置。
答案 1 :(得分:132)
这些请求似乎来自Diagnostic Tools窗口,该窗口在调试时运行。似乎它们提供了内存使用和CPU使用情况的监视信息。
如果您不想通过在“诊断工具”对话框中禁用“内存/ CPU监控”来查看使用信息,则可以停止请求。
答案 2 :(得分:88)
对我来说,停止"垃圾邮件" Fiddler4,而不是我可以选择做的Fiddler过滤器,是改变Visual Studio 2015选项:
Visual Studio 2015 - >工具 - >选项 - >调试 - >一般 - >取消选中/禁用"在调试时启用诊断工具"
VSHUB.exe服务必须是在调试时协助诊断工具的服务,并且不断ping您正在调试的网站/ webapi / web应用程序。我不需要调试。此时的诊断工具,所以我只是在Visual Studio中禁用它
关于禁用VSHUB.exe,我很想这样做,直到我从微软的某个人那里读到,最好不要禁用它以获得更好的Visual Studio 2015体验,并且他们为使用VSHUB的Visual Studio添加新功能.exe随着时间的推移:
答案 3 :(得分:22)
答案 4 :(得分:20)
这是隐藏vshub流量的更简单的替代方法。
转到工具>提琴手选项> “连接”选项卡,并将http://localhost:49155
添加到旁路列表中。这将跳过发布到该URL的所有流量。
*编辑:添加到旁路列表后,可能需要重新启动Fiddler。
答案 5 :(得分:9)
解决此问题的最简单方法是在fiddler中设置过滤器。在OnBeforeResponse中,使用vshub主机/端口添加第二个if:
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
}
}
答案 6 :(得分:2)
SpokaneDJ的答案对我非常有帮助并且工作得很好,但是我不会花很多时间和Fiddler一起工作所以我花了一分钟时间来记住如何做到这一点!以下是具体说明。
首先,在Fiddler界面中,转到Rules
> Customize Rules
。搜索OnBeforeResponse
函数。它应该是这样的:
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
}
现在在现有块之后添加以下 if
块(如果不同,则替换您的vshub主机/端口):
if (oSession.HostnameIs("localhost:49155")){
oSession["ui-hide"] = "hiding vshub"; // String value not important
}
您的OnBeforeResponse
功能现在应如下所示:
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
}
}
答案 7 :(得分:0)
上述对我来说并不适用。它似乎关闭了对本地主机主机的所有fiddler监控。
一些明智的谷歌搜索给了我另一个解决方案 - 通过将其添加到OnBeforeRequest部分的底部来阻止端口:
if (oSession.host=="localhost:49155"){
oSession["ui-hide"] = "true";
}
这似乎会阻止端口在Fiddler中报告,而不会中断其他本地主机流量。