visual studio 2015 vshub是垃圾邮件提琴手

时间:2015-11-20 22:32:27

标签: visual-studio-2015 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;当我使用提琴手时,我只是希望它更安静。现在它将其他所有内容都阻止,我无法进行常规调试。

有人知道解决方法吗?我可以阻止vshub出现在小提琴手而不会阻挡其他的locahost吗?

8 个答案:

答案 0 :(得分:266)

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

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

  1. 点击过滤器标签(它是顶级标签,与检查员,统计数据等级别相同),
  2. 选中标记为“使用过滤器”
  3. 的复选框
  4. 向下滚动,找到标有“如果网址包含隐藏”的复选框。
  5. 选中该框,然后在随附的文本框中输入localhost或vshub。
  6. 您应该立即看到vshub流量停止。
  7. 此过滤器将保留,因此如果您关闭Fiddler并稍后再次启动它,它仍将被设置。

答案 1 :(得分:132)

这些请求似乎来自Diagnostic Tools窗口,该窗口在调试时运行。似乎它们提供了内存使用和CPU使用情况的监视信息。

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

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

答案 2 :(得分:88)

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

Visual Studio 2015 - >工具 - >选项 - >调试 - >一般 - >取消选中/禁用"在调试时启用诊断工具"

enter image description here

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

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

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

答案 3 :(得分:22)

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

您可以转到工具选项,然后按照以下步骤停用它们: enter image description here

答案 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中报告,而不会中断其他本地主机流量。