Visual Studio 2015 Update 1 спам-локальний хост


118

Я встановив Visual Studio Update 1 вчора і тепер при запуску послуг ASP.NET локально на IIS (не в експрес-версії). Я бачу сотні запитів за секунду на адресу

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

Що це викликає і чи можна це запобігти?


30
VSHub - це компонент, який показує живий процесор та використання пам'яті при налагодженні. Не потрібно користуватися ним, вимкніть його за допомогою інструментів> Параметри> Налагодження> Загальне> зніміть позначку "Увімкнути інструменти діагностики під час налагодження". Або просто не дратуйте ці приємні функції налагодження.
Ганс Пасант

5
Ну, це прикро, коли ви використовуєте fiddler ... дякую KyleUp за гарне рішення
Poku

Відповіді:


109

Іншим варіантом запобігання Fiddler не пережовувати ваш процесор - це написати в fiddler правило ігнорувати ці запити. Перейдіть до Правил> Налаштувати правила ... знайдіть функцію 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 може бути кращим для всіх версій візуальної студії.

if(oSession.oRequest.headers["host"].StartsWith("localhost") 
    && oSession.PathAndQuery.StartsWith("/vshub/")) {
    oSession["ui-hide"] = "true";
}

Ось кілька обговорень цього питання на Github, щоб краще зрозуміти, що відбувається; https://github.com/aspnet/Mvc/isissue/3655

Ось ще одна публікація на SO щодо того ж випуску; візуальна студія 2015 vshub є фаєром спаму


2
Я щойно перейшов до оновлення VS2015 Update 2 сьогодні вранці, і мої запити vshub мають "localhost: 49160". Не впевнений, чи VS використовує інший порт для кожної версії. Можливо, можна оновити умову, щоб побачити, чи починається "хост" з localhost, а URL починається з / vshub /
C. Tewalt

51

Це налагоджувач, що надсилає інформацію назад до VSHub-процесу. Це внутрішня комунікація між двома процесами, так що частина збору даних налагоджувача може статися поза процесом.

Це допомагає підказками налагодження, інформацією про продуктивність, історичним досвідом налагодження тощо. Тому немає можливості вимкнути його без серйозного каліцтва вдосконалених функцій налагодження.

Ви можете вимкнути деякі з цих функцій (хоча інші функції все ще можуть покладатися на Vshub, щоб виконувати позапрацюючі роботи у фоновому режимі):

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

Комунікація суто локальна і не сприймає серйозних витрат та проблем. Чи є конкретна причина, яку ви хочете позбутися від неї? Такі інструменти, як Fiddler, можна налаштувати для фільтрування в процесі, тому ігнорування цього трафіку повинно бути простим.


2
Я не хочу позбуватися жодних нових функцій налагодження. Я просто бачив, як використовуються аномально високі ресурси процесора (з моменту встановлення оновлення 1 вчора) і Fiddler, і VS, і помітив, що ці записи з'являються у Fiddler. Я ще не повинен дослідити будь-яку з нових функцій налагодження оновлення 1, але залиште їх, якщо це корисно для мене. Ура.
Рибний торт

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-адресі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.