我昨天安装了Visual Studio Update 1,现在在IIS上本地运行ASP.NET服务(不是快速版)。我每秒都会看到数百个地址请求
http://localhost:49155/vshub/ca9dea4b016f45c68a6a8c1a07809eb4/DataWarehouseModule/dataWarehouse/getStatus/
造成这种情况的原因是什么,是否可以预防?
答案 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)
答案 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
添加到旁路列表中。这将跳过发布到该网址的所有流量。