Visual Studio 2015 업데이트 1 스팸 localhost


118

어제 Visual Studio 업데이트 1을 설치 했고 지금은 IIS (익스프레스 버전이 아님)에서 로컬로 ASP.NET 서비스를 실행할 때 설치했습니다 . 주소에 대해 초당 수백 건의 요청이 표시됩니다.

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

원인은 무엇이며 예방할 수 있습니까?


30
VSHub는 디버그 할 때 라이브 CPU 및 메모리 사용량을 표시하는 구성 요소입니다. 당신이하지 않는 , 사용 도구로를 해제> 옵션> 디버깅> 일반>을 선택 취소 "디버깅하는 동안 진단 도구 사용". 또는 멋진 디버깅 기능에 짜증을 내지 마십시오.
Hans Passant 2015

5
당신이 좋은 솔루션을 KyleUp에 ... 덕분에 피들러를 사용하는 경우 글쎄 그것은 성가신
Poku

답변:


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 업데이트 2로 업그레이드했는데 vshub 요청에 "localhost : 49160"이 있습니다. VS가 각 버전에 대해 다른 포트를 사용하는지 확실하지 않습니다. "host"가 localhost로 시작하고 url이 / vshub /로 시작하는지 확인하기 위해 조건을 업데이트 할 수 있습니다
.

51

이것은 정보를 VSHub 프로세스로 다시 보내는 디버거입니다. 디버거 데이터 수집의 일부가 프로세스 외부에서 발생할 수 있도록 두 프로세스 간의 내부 통신입니다.

디버거 툴팁, 성능 정보, 기록 디버깅 경험 등에 도움이됩니다. 따라서 고급 디버거 기능을 심각하게 손상시키지 않고는 끌 수있는 방법이 없습니다.

이러한 기능 중 일부를 끌 수 있습니다 (다른 기능은 여전히 ​​Vshub에 의존하여 백그라운드에서 out-of-process 작업을 수행 할 수 있음).

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

통신은 순전히 로컬이며 심각한 오버 헤드 나 문제를 일으키지 않습니다. 그것을 없애고 싶은 특별한 이유가 있습니까? Fiddler와 같은 도구는 프로세스를 필터링하도록 구성 할 수 있으므로이 트래픽을 무시하는 것은 간단해야합니다.


2
새로운 디버깅 기능을 제거하고 싶지 않습니다. 나는 단순히 Fiddler와 VS 모두에서 (어제 업데이트 1을 설치 한 이후) 비정상적으로 높은 CPU 리소스가 사용되는 것을 보았고 이러한 항목이 Fiddler에 나타나는 것을 확인했습니다. 업데이트 1의 새로운 디버깅 기능을 아직 조사하지 않았지만 도움이된다면 그대로 두겠습니다. 건배.
Fishcake

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 localhost 트래픽을 숨기는 더 쉬운 대안입니다.

도구> Fiddler 옵션> 연결 탭으로 http://localhost:49155이동하여 우회 목록에 추가 하십시오. 이 URL에 게시 된 모든 트래픽을 건너 뜁니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.