Visual studio 2015 vshub - спам-скрипач

Я читал: Как отключить VsHub.exe на панели задач? а также https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off

Я бы предпочел не отключать vshub; Я просто хочу, чтобы было тихо, когда я использую скрипача. Прямо сейчас он рассылает все остальное, и я не могу выполнять общую отладку.

Кто-нибудь знает обходное решение? Могу ли я заблокировать vshub от появления в скрипаче, не блокируя остальную часть locahost?

Ответ 1

Это относительно новая проблема, потому что System.NET использовала игнорировать настройки прокси-сервера для localhost, и поэтому Fiddler не увидит трафик по умолчанию (http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp) - см. нижнюю часть.

Теперь это уже не так, поэтому я ожидаю, что у большего числа людей будет тот же вопрос. Fiddler поддерживает несколько способов фильтрации запросов, хотя ничего не может контролировать клиент (что, вероятно, хорошо, поскольку вы не хотите, чтобы вредоносное ПО исключало его трафик). Наиболее подходящим и простейшим механизмом в этом случае, вероятно, является установка фильтра для любого URL-адреса, который содержит localhost или vshub. Вы можете это сделать:

  • Перейдите на вкладку "Фильтры" (вкладка верхнего уровня на том же уровне, что и инспекторы, статистика и т.д.),
  • Установите флажок "Использовать фильтры"
  • Прокрутите вниз и установите флажок "Скрыть, если содержит URL".
  • Отметьте это поле и введите либо localhost, либо vshub в сопроводительное текстовое поле.
  • Вы должны немедленно остановить остановку vshub.

Этот фильтр будет сохраняться, поэтому, если вы выключите Fiddler и запустите его позже, он все равно будет установлен.

Ответ 2

Эти запросы, похоже, поступают из окна "Диагностические инструменты", которое выполняется при отладке. Кажется, они предоставляют информацию для мониторинга использования памяти и использования ЦП.

Вы можете остановить запросы, если не хотите видеть информацию об использовании, отключив мониторинг памяти/ЦП в диалоговом окне "Инструменты диагностики".

  • Откройте окно "Диагностические инструменты" (Debug → Windows → Показать диагностические инструменты)
  • Выберите раскрывающийся список "Выбрать инструменты" и снимите флажок "Использование памяти и использование ЦП".
  • Остановить отладку, и в следующий раз, когда вы начнете отладку, вы больше не увидите запросы, сделанные в vshub

Ответ 3

Для меня исправление, чтобы остановить "спам" на Fiddler4 вместо фильтра Fiddler, который я мог бы сделать, заключался в изменении опции Visual Studio 2015:

Visual Studio 2015 → Инструменты → Параметры → Отладка → Общие → снять или отключить "Включить диагностические инструменты во время отладки"

введите описание изображения здесь

Служба VSHUB.exe должна быть службой, которая помогает диагностическим инструментам во время отладки и постоянно проверяет ваш веб-сайт/веб-приложение/веб-приложение, которое вы отлаживаете. Мне не нужна отладка. Диагностические инструменты в это время, поэтому я просто отключил его в Visual Studio

В отношении отключения VSHUB.exe у меня возникло соблазн сделать это, пока я не прочитаю от кого-то из Microsoft, что лучше не отключать его для лучшего опыта Visual Studio 2015, и они добавляют новые функции в Visual Studio, которые используют VSHUB.exe со временем:

Как отключить VsHub.exe на панели задач?

Ответ 4

Это более простая альтернатива скрыть трафик vshub.

Перейдите на вкладку "Инструменты" > "Параметры Fiddler" > "Подключения" и добавьте http://localhost:49155 в список обхода. Это пропустит весь трафик, отправленный на этот URL.

* Изменить: может потребоваться перезапуск Fiddler после добавления в список обхода.

Ответ 6

Самый простой способ разрешить это - настроить фильтр в скрипаче. В OnBeforeResponse добавьте второе, если с вашим хостом/портом vshub:

  static function OnBeforeResponse(oSession: Session) {
    if (m_Hide304s && oSession.responseCode == 304) {
        oSession["ui-hide"] = "true";
    }

    if (oSession.HostnameIs("localhost:49155")){
        oSession["ui-hide"] = "hiding vshub"; // String value not important
    }


    }

Ответ 7

Ответ SpokaneDJ был очень полезен для меня и отлично поработал, но я не трачу много времени на Fiddler, поэтому мне потребовалась минута, чтобы вспомнить, как это сделать! Вот конкретные инструкции.


Сначала в пользовательском интерфейсе Fiddler перейдите к Rules > Customize Rules. Найдите функцию OnBeforeResponse. Он должен выглядеть следующим образом:

static function OnBeforeResponse(oSession: Session) {
  if (m_Hide304s && oSession.responseCode == 304) {
    oSession["ui-hide"] = "true";
  }
}

Теперь добавьте следующий if блок после существующего (подставляя ваш vshub host/port if different):

    if (oSession.HostnameIs("localhost:49155")){
      oSession["ui-hide"] = "hiding vshub"; // String value not important
    }

Теперь ваша функция OnBeforeResponse должна выглядеть так:

  static function OnBeforeResponse(oSession: Session) {
    if (m_Hide304s && oSession.responseCode == 304) {
        oSession["ui-hide"] = "true";
    }

    if (oSession.HostnameIs("localhost:49155")){
        oSession["ui-hide"] = "hiding vshub"; // String value not important
    }
  }

Ответ 8

Выше не работало для меня, как таковое. Казалось, что он закрыл ВСЕ-скрипичный мониторинг локального хоста.

Немного разумного googling дал мне другое решение - заблокировать порт, добавив это в нижнюю часть раздела OnBeforeRequest:

if (oSession.host=="localhost:49155"){
    oSession["ui-hide"] = "true";
}

Это, по-видимому, блокирует сообщение порта в Fiddler, не прерывая дальнейший трафик localhost.