Visual Studio 2015 Update 1垃圾邮件localhost

时间:2015-12-04 09:14:32

标签: visual-studio visual-studio-2015

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

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

造成这种情况的原因是什么,是否可以预防?

5 个答案:

答案 0 :(得分:110)

防止fiddler咀嚼CPU的另一个选择是在fiddler中写一条规则来忽略这些请求。转到规则>自定义规则...找到函数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 is spamming fiddler

答案 1 :(得分:52)

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

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

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

工具> 选项> 调试> 一般> []在调试时启用诊断工具

通信纯属本地通信,不会造成严重的开销或问题。你有什么特别的理由要摆脱它吗?像Fiddler这样的工具可以配置为对进程进行过滤,因此忽略此流量应该很简单。

答案 2 :(得分:18)

由于这已经变成让Fiddler忽略请求的方法,我发现最简单的方法是转到过滤器选项卡,请求标题部分,选中“隐藏URL包含”框并输入“/ vshub /” ”。

Hiding with Filters

答案 3 :(得分:7)

我意识到这不是答案,但它可能会帮助其他人(像我一样)。

扩展KyleUp给出的答案。将此添加到“OnBeforeRequest”方法更为通用,并阻止所有localhost / vshub / debug消息填满Fiddler中的视图。

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

答案 4 :(得分:3)

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

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