我昨天和现在都在IIS(不是快速版本)上本地运行ASP.NET服务时安装了Visual Studio Update 1。我每秒看到数百个地址请求
http://localhost:49155/vshub/ca9dea4b016f45c68a6a8c1a07809eb4/DataWarehouseModule/dataWarehouse/getStatus/
是什么原因造成的,可以预防吗?
我昨天和现在都在IIS(不是快速版本)上本地运行ASP.NET服务时安装了Visual Studio Update 1。我每秒看到数百个地址请求
http://localhost:49155/vshub/ca9dea4b016f45c68a6a8c1a07809eb4/DataWarehouseModule/dataWarehouse/getStatus/
是什么原因造成的,可以预防吗?
Answers:
防止提琴手占用您的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是垃圾邮件提琴手
这是调试器将信息发送回VSHub进程。它是两个进程之间的内部通信,因此调试器数据收集的一部分可以在进程外进行。
它有助于调试器工具提示,性能信息,历史调试经验等。因此,如果不严重削弱高级调试器功能,就无法关闭它。
您可以关闭其中一些功能(尽管其他功能可能仍依赖Vshub在后台执行进程外工作):
Tools> Options> Debugging> General> [ ] Enable Diagnostic Tools while debugging
通信完全是本地的,不会造成严重的开销或问题。您是否有想要摆脱它的特定原因?可以将Fiddler之类的工具配置为按流程进行过滤,因此忽略此流量应该很简单。