visual studio 2015 vshub kemancı spam yapıyor


201

Ben okudum: Sistem tepsisindeki VsHub.exe'yi nasıl devre dışı bırakabilirim? ve https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off

Vshub'ı devre dışı bırakmamayı tercih ederim; Kemancı kullanırken daha sessiz olmasını istiyorum. Şu anda diğer her şeyi spam yapıyor ve genel hata ayıklama yapamıyorum.

Bir çözüm bilen var mı? Vshub'ın diğer locahost'u engellemeden kemancıda görünmesini engelleyebilir miyim?

Yanıtlar:


268

System.NET, localhost için proxy ayarlarını yoksaydığı için nispeten yeni bir sorundur ve bu nedenle Fiddler trafiği varsayılan olarak görmez ( http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp ) - alt bölüme bakınız.

Şimdi durum böyle değil, bu yüzden daha fazla insanın aynı soruya sahip olmasını bekliyorum. Fiddler, istemcilerin kontrol edebileceği hiçbir şey olmasa da, istekleri filtrelemek için birkaç yolu destekler (kötü amaçlı yazılımın trafiğini hariç tutmasını istemediğiniz için muhtemelen iyidir). Bu durumda en uygun ve en basit mekanizma muhtemelen localhost veya vshub içeren herhangi bir url için bir filtre ayarlamaktır. Bunu şu şekilde yapabilirsiniz:

  1. Filtreler sekmesini tıklayın (denetçiler, istatistikler vb. İle aynı düzeydeki üst düzey bir sekmedir),
  2. 'Filtreleri Kullan' etiketli onay kutusunu işaretleyin
  3. Sayfayı aşağı kaydırın ve 'URL içeriyorsa gizle' onay kutusunu bulun.
  4. Bu kutuyu işaretleyin ve beraberindeki metin kutusuna localhost veya vshub girin.
  5. Hemen vshub trafiğinin durduğunu görmelisiniz.

Bu filtre devam edecek, bu nedenle Fiddler'ı kapatır ve daha sonra yeniden başlatırsanız, yine de ayarlanacaktır.


4
Teşekkürler, @ Johnson. Bu büyük talepleri gizlemek Fiddler'ı tekrar kullanılabilir hale getirecektir. Ancak bu hala ciddi bir sorun olmaya devam ediyor. Ayrıca, Visual Studio'nun veya daha sonra ilgili herhangi bir işlemin neden bu istekleri ilk etapta yaptığını merak ediyor (retorik). Bu durumdan da rahatsız olursanız, MS Connect hatası # 1919828 ve / veya ASP.NET MVC sorunu # 3655'e bir oy ekleyin .
Juliën

4
Sadece eklemek için || browserlink gibi diğer istekleri gizlemek istiyorsanız 'URL içeriyorsa gizle' kutusundaki operatöre başvurun.
Nick Spicer

4
@Moriarty re: ...why Visual Studio is making these requests... bunun nedeni, işlemlerin geri döngü bağdaştırıcısındaki HTTP aracılığıyla birbirleriyle iletişim kurmasıdır . . Bu trafik "bir süredir" oluşturuldu; son zamanlarda HTTP proxy'leri için varsayılan olarak görünür olduğu için değiştirildi ... bu yüzden bunu neden bir hata olarak değerlendireceğinizden emin değilim.
K. Alan Bates

2
Visual Studio 2015'te yeni uzaktan hata ayıklama araçlarının bir yan etkisi olan eminim. Özellikle Apple cihazlarda Cordova için çapraz platform hata ayıklamasıyla ilgili olarak daha fazla bahis oynarım. Muhtemelen bu değişiklikleri daha sonra diğer platformlara, dolayısıyla küresel değişime genişletecek şekilde inşa ettiler.
Bon

1
Bu doğru çözüm değil. Sadece sorunu gizler. VS'de hata ayıklama sırasında tanılama araçlarını kaldırmanın altındaki çözümler gerçek çözümdür.
Rafi

132

Bu istekler, hata ayıklama sırasında çalışan Tanılama Araçları penceresinden geliyor gibi görünüyor. Bellek Kullanımı ve CPU Kullanımı için izleme bilgisi sağlıyor gibi görünüyor.

Tanılama Araçları iletişim kutusunda Bellek / CPU izlemeyi devre dışı bırakarak kullanım bilgilerini görmek istemiyorsanız istekleri durdurabilirsiniz.

  • Tanılama Araçları penceresini açın (Hata Ayıkla -> Windows -> Tanılama Araçlarını Göster)
  • "Araçları Seç" açılır menüsünü tıklayın ve Bellek Kullanımı ve CPU Kullanımı'nın işaretini kaldırın.
  • Hata ayıklamayı durdurun ve bir sonraki hata ayıklamaya başladığınızda vshub'a yapılan istekleri artık göremezsiniz.

10
Doğru çözüm bu. Hemen tüm spam mesajlarından kurtuldu. Şu anda CPU / Bellek ile ilgilenmiyorum, düzgün bir şekilde kullanabilmem için kemancımın temiz kalması gerekiyor. Bu düzeltme için Alex'e çok teşekkürler.
Pic Mickael

6
Bu yalnızca bir kez yardımcı olur, ancak Vusial Studio'da "Tanılama Araçları" nı buradan devre dışı bırakabilirsiniz: Araçlar -> Seçenekler -> Hata Ayıklama -> Genel -> onay kutusu "Hata ayıklama sırasında Tanılama Araçlarını Etkinleştir"
Andrey Prokhorov

1
"Araçları Seç" açılır menüsünü bulamıyorum (Visual Studio 2015'te). Nerede olduğu hakkında bir fikrin var mı?
Per Lundberg

1
@PerLundberg "Seçim Araçları" nı bulamıyorsanız, Brian'ın cevabını aşağıda deneyin (bu yorumlardaki Andrey ile aynı). Bu, Bellek / CPU izlemeyi her zaman devre dışı bırakmak için tercih ettiğim çözüm. İhtiyacım olursa nasıl etkinleştireceğimi biliyorum.
Alex

Bir hata ayıklama oturumundaysanız ve Alex'in seçeneğini kullanırsanız, Bellek / CPU izlemeniz duracak olsa da, hata ayıklama oturumunuzu durdurana ve yeniden başlatana kadar isteklerin gerçekleşmeyeceğini unutmayın! Bunu zor yoldan buldum.
vapcguy

89

Benim için, yapmayı seçebileceğim bir Fiddler filtresi yerine Fiddler4'e "spam göndermeyi" durdurma düzeltmesi, bir Visual Studio 2015 seçeneğini değiştirmekti:

Visual Studio 2015 -> Araçlar -> Seçenekler -> Hata ayıklama -> Genel -> "Hata ayıklama sırasında Tanılama Araçlarını etkinleştir" işaretini kaldırın / devre dışı bırakın

resim açıklamasını buraya girin

Hata ayıklama sırasında VSHUB.exe hizmeti, Tanılama araçlarına yardımcı olan ve sürekli olarak hata ayıkladığınız web sitenize / webapi / web uygulamasına ping atıyor. Hata ayıklamaya ihtiyacım yok. Tanılama araçları şu anda Visual Studio'da devre dışı bıraktım

VSHUB.exe'yi devre dışı bırakma konusunda, Microsoft'tan birinden okuyana kadar, daha iyi bir Visual Studio 2015 deneyimi için devre dışı bırakmamak en iyisi ve VSHUB.exe'yi kullanan Visual Studio'ya yeni özellikler ekleyene kadar bunu yapmaya cazip davrandım. zaman:

Sistem tepsisindeki VsHub.exe'yi nasıl devre dışı bırakabilirim?


@BrianOgden Vay! Teşekkür ederim. Son olarak, VS 2015 yanıtı. Visual Studio'nun menüleri her sürümde çok değişti. Aniden bu araç - VsHub - sakatlandı ve nedenini bilmiyorum. Windows 10 otomatik güncellemeleriyle, bilmeden bu olabilirdi.
octopusgrabbus

Bunu bu şekilde yapan herkes için not edin, bunu bir hata ayıklama oturumunun ortasında yaparsanız, hata ayıklama oturumunuzu durdurup yeniden başlatana kadar istekleriniz Fiddler'da yakalanmayı durdurmaz.
vapcguy

21

Soruna, hata ayıklama sırasında Visual Studio'nun Tanılama Araçları neden olur.

Bunları AraçlarSeçenekler'e gidip adımları uygulayarak devre dışı bırakabilirsiniz : resim açıklamasını buraya girin


Güzel grafik. Yine de Brian Ogden sizi zaten dövdü - yinelenen cevap. Bunu bu şekilde yapan herkes için not edin, bunu bir hata ayıklama oturumunun ortasında yaparsanız, hata ayıklama oturumunuzu durdurup yeniden başlatana kadar istekleriniz Fiddler'da yakalanmayı durdurmaz.
vapcguy

@vapcguy benim cevap değildir kabul etmelisin farklı ama oldu bir grafiği yayınlamak için ilk. Brian daha sonra grafiği dahil etmek için cevabını düzenledi. İnsanlar cevaplarını aldıkları sürece sorun değil.
Sergey

20

Bu vshub trafiğini gizlemek için daha kolay bir alternatiftir.

Araçlar> Kemancı Seçenekleri> Bağlantılar sekmesine gidin ve http://localhost:49155bypass listesine ekleyin . Bu, söz konusu URL'ye gönderilen tüm trafiği atlayacaktır.

* Düzenle: Baypas listesine eklendikten sonra kemancının yeniden başlatılması gerekebilir.


2
Bu değişiklik ancak Fiddler'ı yeniden başlattıktan sonra uygulandı.
Bassem

@Bassem, Ayrıca benim için yeniden başlatmadan.
Smit Patel

9

Bunu çözmenin en kolay yolu, kemancıya bir filtre kurmaktır. OnBeforeResponse'de, vshub ana makineniz / bağlantı noktanızla ikinci ifadeyi ekleyin:

  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
    }


    }

2

SpokaneDJ'nin cevabı benim için çok yardımcı oldu ve harika çalıştı, ama Fiddler ile çok fazla zaman harcamıyorum, bu yüzden bunu nasıl yapacağımı hatırlamak bir dakika sürdü! İşte özel talimatlar.


İlk olarak, Fiddler kullanıcı arayüzünde Rules>Customize Rules . OnBeforeResponseİşlevi arayın . Şöyle görünmelidir:

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

Şimdi aşağıdakileri ekleyin if mevcut bloktan sonra bloğu (farklıysa vshub ana makinenizi / bağlantı noktanızı değiştirin):

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

Sizin OnBeforeResponseişlevi artık şu şekilde görünmelidir:

  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
    }
  }

0

Yukarıdaki gibi benim için işe yaramadı. Localhost sunucusunun TÜM kemancı izlemesini kapatıyor gibiydi.

Biraz mantıklı googling bana başka bir çözüm verdi - özellikle OnBeforeRequest bölümünün altına ekleyerek bağlantı noktasını engellemek için:

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

Bu, daha fazla localhost trafiğini kesintiye uğratmadan limanın Fiddler'da bildirilmesini engelliyor gibi görünüyor.


1
Hangi yanıtı "yukarıda" olarak adlandırdığınızdan bahsetmelisiniz, çünkü buradaki yanıtlar birden çok faktöre göre yukarı ve aşağı kayabilir.
Sergey

Doğru tespit. O zaman diğer tüm çözümlere uygulandı, ama o zamandan beri daha fazla eklendi görünüyor. Gelecekte bunu aklımda tutacağım.
Zengin Howard
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.