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.