昨天我安装了Visual Studio 更新1,现在当我在本地IIS(不是express版本)上运行ASP.NET服务时,我看到每秒钟有数百个请求发送到地址
http://localhost:49155/vshub/ca9dea4b016f45c68a6a8c1a07809eb4/DataWarehouseModule/dataWarehouse/getStatus/
这是什么原因造成的?能够预防吗?
昨天我安装了Visual Studio 更新1,现在当我在本地IIS(不是express版本)上运行ASP.NET服务时,我看到每秒钟有数百个请求发送到地址
http://localhost:49155/vshub/ca9dea4b016f45c68a6a8c1a07809eb4/DataWarehouseModule/dataWarehouse/getStatus/
这是什么原因造成的?能够预防吗?
防止 Fiddler 占用 CPU 的另一种选项是在 Fiddler 中编写规则来忽略这些请求。转到 Rules > Customize Rules...,找到 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
这是调试器向VSHub进程发送信息。这是两个进程之间的内部通信,以便调试器数据收集的一部分可以在进程外进行。
它有助于调试工具提示、性能信息、历史调试体验等方面。因此,没有办法关闭它,否则将严重削弱高级调试器功能。
您可以关闭其中的一些功能(尽管其他功能可能仍然依赖于Vshub在后台执行进程外的工作):
工具 > 选项 > 调试 > 常规 > [ ] 在调试时启用诊断工具
通信纯粹是本地的,不会带来严重的开销或问题。您想要摆脱它的特定原因吗?像Fiddler这样的工具可以配置为过滤进程,因此忽略此流量应该很简单。
if(oSession.oRequest.headers["host"].StartsWith("localhost")
&& oSession.PathAndQuery.StartsWith("/vshub/")) {
oSession["ui-hide"] = "true";
}
这是一个更简单的方法来隐藏vshub的本地主机流量。
进入 工具 > Fiddler选项 > 连接 选项卡,并将 http://localhost:49155
添加到绕过列表中。这将跳过所有发送到该网址的流量。