visual studio 2015 vshub 是垃圾邮件 fiddler

visual studio 2015 vshub is spamming fiddler

我已阅读: 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;我只是想让它在使用提琴手时更安静。现在它把其他所有东西都扔掉了,我不能做一般调试。

有人知道解决方法吗?我可以在不阻止 locahost 的其余部分的情况下阻止 vshub 出现在 fiddler 中吗?

这是一个相对较新的问题,因为 System.NET 过去常常忽略本地主机的代理设置,因此 Fiddler 默认情况下不会看到流量 (http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp) - 请参阅底部。

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

  1. 单击过滤器选项卡(这是顶级选项卡,与检查员、统计信息等处于同一级别),
  2. 选中标记为 'Use Filters'
  3. 的复选框
  4. 向下滚动并找到标记为 'Hide if URL contains' 的复选框。
  5. 选中该框,然后在随附的文本框中输入 localhost 或 vshub。
  6. 您应该会立即看到 vshub 流量停止。

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

解决此问题的最简单方法是在 fiddler 中设置过滤器。在 OnBeforeResponse 中,添加第二个 if 与你的 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
    }


    }

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

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

  • 打开诊断工具window(调试 -> Windows -> 显示诊断工具)
  • 单击 "Select Tools" 下拉菜单并取消选中内存使用情况和 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 host/port):

    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
    }
  }

以上对我不起作用,因此。它似乎关闭了 localhost 主机的所有 fiddler 监控。

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

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

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

对我来说,停止 "spamming" 到 Fiddler4 的解决方法是更改​​ Visual Studio 2015 选项:

Visual Studio 2015 -> 工具 -> 选项 -> 调试 -> 常规 -> uncheck/disable "Enable Diagnostic Tools while debugging"

VSHUB.exe 服务必须是在调试时协助诊断工具并持续 ping 您正在调试的 website/webapi/web 应用程序的服务。我不需要调试。此时的诊断工具,所以我只是在 Visual Studio

中禁用了它

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

How do I disable VsHub.exe in the system tray?

这是隐藏 vshub 流量的更简单替代方法。

转到“工具”>“Fiddler 选项”>“连接”选项卡并将 http://localhost:49155 添加到旁路列表。这将跳过发布到 URL.

的所有流量

*编辑:添加到旁路列表后可能需要重启Fiddler。

The issue is caused by Visual Studio's Diagnostic Tools while debugging.

您可以通过转至 工具选项 禁用它们,然后按照以下步骤操作: