Visual Studio 2015 Update 1向本地主机发送垃圾邮件


118

我昨天和现在都在IIS(不是快速版本)上本地运行ASP.NET服务时安装了Visual Studio Update 1。我每秒看到数百个地址请求

 http://localhost:49155/vshub/ca9dea4b016f45c68a6a8c1a07809eb4/DataWarehouseModule/dataWarehouse/getStatus/ 

是什么原因造成的,可以预防吗?


30
VSHub是在调试时显示实时CPU和内存使用情况的组件。你不具备使用它,用工具将其关闭>选项>调试>常规>取消勾选“启用诊断工具在调试”。或者只是不要被那些出色的调试功能所烦扰。
汉斯·帕桑

5
好吧,当您使用提琴手时很烦...感谢KyleUp提供了一个很好的解决方案
Poku

Answers:


109

防止提琴手占用您的CPU的另一种方法是在提琴手中编写一条规则以忽略这些请求。转到规则>自定义规则...,找到函数OnBeforeRequest并添加

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

所以我的看起来像这样:

static function OnBeforeRequest(oSession: Session) {
    if(oSession.oRequest.headers["host"]=="localhost:49155"){
        oSession["ui-hide"] = "true";
    }
}

正如@matrixugly指出的,根据VS的版本,端口可以不同。@ tedd-hansen的解决方案可能在所有版本的Visual Studio中都更好。

if(oSession.oRequest.headers["host"].StartsWith("localhost") 
    && oSession.PathAndQuery.StartsWith("/vshub/")) {
    oSession["ui-hide"] = "true";
}

这是在github上有关此问题的一些讨论,以更好地了解正在发生的事情。https://github.com/aspnet/Mvc/issues/3655

这是关于同一问题的另一篇关于SO的文章;visual studio 2015 vshub是垃圾邮件提琴手


2
我今天早上刚刚升级到VS2015 Update 2,我的vshub请求具有“ localhost:49160”。不知道VS是否为每个版本使用不同的端口。或许可以更新状态,看看有本地主机是否“主机”开始,以/ vshub / URL开始
C. Tewalt

51

这是调试器将信息发送回VSHub进程。它是两个进程之间的内部通信,因此调试器数据收集的一部分可以在进程外进行。

它有助于调试器工具提示,性能信息,历史调试经验等。因此,如果不严重削弱高级调试器功能,就无法关闭它。

您可以关闭其中一些功能(尽管其他功能可能仍依赖Vshub在后台执行进程外工作):

Tools> Options> Debugging> General> [  ] Enable Diagnostic Tools while debugging

通信完全是本地的,不会造成严重的开销或问题。您是否有想要摆脱它的特定原因?可以将Fiddler之类的工具配置为按流程进行过滤,因此忽略此流量应该很简单。


2
我不想摆脱任何新的调试功能。我只是看到Fiddler和VS都使用了异常高的CPU资源(因为昨天安装了更新1),并且注意到这些条目出现在Fiddler中。我尚未研究Update 1的任何新调试功能,但如果对我有利,将保留它们。干杯。
Fishcake 2015年

2
我必须同意@Fishcake,它们令人不安,必须过滤掉调试器调用才能看到我自己的httpclient调用,这很痛苦。话虽如此,过滤的好主意。我不知道这些是什么。
hal9000

18

由于这已成为使Fiddler忽略请求的方法,因此我找到的最简单的方法是转到“过滤器”选项卡的“请求标头”部分,选中“隐藏URL是否包含”框,然后输入“ / vshub /”。

隐藏过滤器


7

我意识到这不是答案,但是它可以帮助来到这里的其他人(例如我)。

扩展KyleUp给出的答案。将其添加到“ OnBeforeRequest”方法中会更加通用一些,并阻止所有localhost / vshub /调试消息填充Fiddler中的视图。

if(oSession.oRequest.headers["host"].StartsWith("localhost") 
   && oSession.PathAndQuery.StartsWith("/vshub/")) {
    oSession["ui-hide"] = "true";
}

3

这是隐藏vshub本地主机通信的更容易的选择。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.