Visual studio 2015 vshub是spamming提琴手

我看过: 如何在系统托盘中禁用VsHub.exe ?< / > 而且 https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off < / p >

我宁愿不禁用vshub;我只是想用小提琴的时候安静一点。现在它把其他所有东西都发送出去了,我不能进行一般的调试。

有人知道变通办法吗?我可以阻止vshub显示在小提琴没有阻止localhost的其余部分?

48300 次浏览

这是一个比较新的问题,因为系统。NET用来忽略本地主机的代理设置,因此默认情况下Fiddler不会看到流量(http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp) -见底部部分。

现在情况似乎不再是这样了,所以我希望更多的人会有同样的问题。Fiddler支持几种过滤请求的方法,尽管没有客户机可以控制的方法(这可能很好,因为您不希望恶意软件排除它的流量)。在这种情况下,最合适和最简单的机制可能是为包含localhost或vshub的任何url设置一个过滤器。你可以这样做:

  1. 单击filters选项卡(这是一个顶级选项卡,与检查器、统计信息等处于同一级别),
  2. 选中“使用过滤器”复选框
  3. 向下滚动并找到标记为“隐藏如果URL包含”的复选框。
  4. 选中该框,并在附带的文本框中输入localhost或vshub。
  5. 您应该会看到vshub流量立即停止。

此过滤器将持续存在,因此如果您关闭Fiddler并稍后再次启动它,它仍然会被设置。

解决这个问题最简单的方法是在fiddler中设置一个过滤器。在onbeforerresponse中,使用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
}




}

这些请求似乎来自调试时运行的诊断工具窗口。似乎它们提供了内存使用情况和CPU使用情况的监控信息。

如果不想查看使用信息,可以通过在“诊断工具”对话框中禁用“内存/CPU监视”来停止请求。

  • 打开诊断工具窗口(调试-> Windows ->显示诊断工具)
  • 单击“选择工具”下拉菜单,取消勾选“内存使用率”和“CPU使用率”。
  • 停止调试,下次开始调试时,应该不再看到向vshub发出的请求

SpokaneDJ的回答对我很有帮助,而且效果很好,但我没有花很多时间在Fiddler上,所以我花了一分钟才记住如何做到这一点!这是具体的使用说明。


首先,在Fiddler UI中,转到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
}
}

上述方法对我来说并不适用。似乎关闭了对本地主机的所有fiddler监视。

一点明智的谷歌搜索给了我另一个解决方案-通过添加到OnBeforeRequest部分的底部来阻止端口:

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

这似乎阻止了在Fiddler中报告端口,而不会进一步中断本地主机通信。

对我来说,修复停止“垃圾邮件”到Fiddler4,而不是Fiddler过滤器,这是我可以选择做的,是改变Visual Studio 2015选项:

Visual Studio 2015 ->工具->选项->调试->通用-> uncheck/disable“在调试时启用诊断工具”

enter image description here

VSHUB.exe服务必须是在调试时协助诊断工具的服务,并不断地ping您正在调试的网站/webapi/web应用程序。我不需要调试。诊断工具,所以我在Visual Studio中禁用了它

关于禁用VSHUB.exe,我很想这么做,直到我从微软的人那里读到,为了更好的Visual Studio 2015体验,最好不要禁用它,他们随着时间的推移为Visual Studio添加了利用VSHUB.exe的新功能:

如何在系统托盘中禁用VsHub.exe ?< / >

这是隐藏vshub通信的一个更简单的替代方案。

进入工具>提琴手选项>连接选项卡,并将http://localhost:49155添加到旁路列表。这将跳过所有发布到该URL的流量。

*编辑:提琴手添加到旁路列表后可能需要重新启动。