विजुअल स्टूडियो 2015 vshub स्पैमिंग फिडलर है


201

मैंने पढ़ा है: मैं सिस्टम ट्रे में VsHub.exe को कैसे अक्षम कर सकता हूं? और https://connect.microsoft.com/VisualStudio/feedback/details/1919828/h सैकड़ोंs - of - calls - second - to - vshub- and- browserlink - is - off

मैं vshub को अक्षम नहीं करना पसंद करूंगा; मैं बस यह चाहता हूं कि जब मैं फिडलर का उपयोग कर रहा हूं तो यह अधिक शांत हो। अभी यह सब कुछ बाहर फैलाता है, और मैं सामान्य डिबगिंग नहीं कर सकता।

क्या कोई वर्कअराउंड जानता है? क्या मैं बाकी लोकोहास्ट को अवरुद्ध किए बिना फिशर में दिखाने से वशूब को ब्लॉक कर सकता हूं?

जवाबों:


268

यह एक अपेक्षाकृत नई समस्या है क्योंकि System.NET लोकलहोस्ट के लिए प्रॉक्सी सेटिंग्स को नजरअंदाज करने के लिए उपयोग किया जाता है, और इसलिए फ़िडलर डिफ़ॉल्ट रूप से ट्रैफ़िक नहीं देखेगा ( http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp ) - नीचे अनुभाग देखें।

अब यह मामला प्रतीत नहीं होता है, इसलिए मुझे उम्मीद है कि अधिक लोग एक ही सवाल करेंगे। फ़िडलर अनुरोधों को फ़िल्टर करने के कई तरीकों का समर्थन करता है, हालांकि कुछ भी नहीं जिसे ग्राहक नियंत्रित कर सकता है (जो कि शायद अच्छा है, क्योंकि आप इसके ट्रैफ़िक को बाहर करने से मैलवेयर नहीं चाहेंगे)। इस मामले में सबसे उपयुक्त और सरल तंत्र शायद किसी भी यूआरएल के लिए एक फ़िल्टर सेट करना है जिसमें लोकलहोस्ट या vshub शामिल हैं। आप ऐसा कर सकते हैं:

  1. फ़िल्टर टैब पर क्लिक करें (यह एक शीर्ष-स्तरीय टैब है, निरीक्षकों, सांख्यिकी, आदि के समान स्तर पर)।
  2. 'फ़िल्टर का उपयोग करें' लेबल वाला चेकबॉक्स जांचें
  3. नीचे स्क्रॉल करें और चेकबॉक्स ढूंढें 'URL शामिल हैं तो छिपाएं'।
  4. उस बॉक्स को चेक करें, और साथ में टेक्स्टबॉक्स में लोकलहोस्ट या vshub डालें।
  5. आपको vshub ट्रैफ़िक को तुरंत देखना चाहिए।

यह फ़िल्टर जारी रहेगा, इसलिए यदि आप फ़िडलर को बंद करते हैं और बाद में इसे फिर से शुरू करते हैं, तो भी इसे सेट किया जाएगा।


4
धन्यवाद, @Anson। इन भारी मात्रा में अनुरोधों को छुपाने से फ़िडलर फिर से उपयोग करने योग्य हो जाएगा। लेकिन यह अभी भी एक गंभीर मुद्दा बना हुआ है। यह आपको यह भी आश्चर्यचकित करता है कि विज़ुअल स्टूडियो, या इसके बाद की किसी भी संबंधित प्रक्रिया, इन अनुरोधों को पहली जगह (रेटोरिकल) में क्यों बना रही है। यदि आपको इससे भी असुविधा हो, तो MS Connect बग # 1919828 और / या ASP.NET MVC मुद्दे के माध्यम से # 3655 पर एक वोट जोड़ें ।
जूलिएन

4
बस आपको जोड़ने के लिए उपयोग कर सकते हैं || यदि आप ब्राउजरलिंक जैसे अन्य अनुरोधों को छिपाना चाहते हैं, तो 'Hide if URL में बॉक्स' ऑपरेटर होता है।
निक स्पाइसर

4
@Moriarty re: ...why Visual Studio is making these requests... ठीक है, यह इसलिए है क्योंकि प्रक्रियाएं लूपबैक एडाप्टर पर HTTP के माध्यम से एक दूसरे के साथ संचार कर रही हैं। । यह ट्रैफ़िक अब "थोड़ी देर" के लिए उत्पन्न किया गया है; यह अभी हाल ही में बदल दिया गया है कि यह HTTP प्रॉक्सी के लिए डिफ़ॉल्ट रूप से दिखाई दे रहा है ... इसलिए मुझे वास्तव में यकीन नहीं है कि आप इसे बग क्यों समझेंगे।
। एलन बेट्स

2
विजुअल स्टूडियो 2015 में नए रिमोट डिबगिंग टूल्स का साइड इफेक्ट है, मुझे पूरा यकीन है। विशेष रूप से एप्पल उपकरणों पर कॉर्डोवा के लिए क्रॉस प्लेटफॉर्म डिबगिंग से संबंधित है, मैं आगे दांव लगाऊंगा। उन्होंने संभवत: इन परिवर्तनों को एक तरह से निर्मित किया और बाद में इसे अन्य प्लेटफार्मों पर विस्तारित करने की अनुमति दी, इसलिए वैश्विक परिवर्तन।
बॉन

1
यह सही समाधान नहीं है। यह सिर्फ समस्या को छुपाता है। वीएस में डिबगिंग करते समय नैदानिक ​​उपकरणों को हटाने के नीचे का समाधान सही समाधान है।
रफी

132

ये अनुरोध डायग्नोस्टिक टूल विंडो से आते हैं जो डिबगिंग के समय चलते हैं। लगता है जैसे वे स्मृति उपयोग और CPU उपयोग के लिए निगरानी जानकारी प्रदान करते हैं।

यदि आप डायग्नोस्टिक टूल डायलॉग बॉक्स में मेमोरी / सीपीयू मॉनिटरिंग को अक्षम करके उपयोग की जानकारी देखने की परवाह नहीं करते हैं तो आप अनुरोधों को रोक सकते हैं।

  • डायग्नोस्टिक टूल विंडो खोलें (डीबग -> विंडोज -> डायग्नोस्टिक टूल दिखाएं)
  • "उपकरण चुनें" ड्रॉप-डाउन पर क्लिक करें और मेमोरी उपयोग और सीपीयू उपयोग की जांच करें।
  • डिबगिंग बंद करो और अगली बार जब आप डीबग करना शुरू करते हैं तो आपको अब vshub के लिए किए जा रहे अनुरोधों को नहीं देखना चाहिए

10
यही सही उपाय है। यह तुरंत सभी स्पैमिंग संदेश से छुटकारा पा गया। अभी मुझे सीपीयू / मेमोरी की कोई परवाह नहीं है, मुझे साफ रहने के लिए अपने फिडलर की जरूरत है ताकि मैं इसका सही इस्तेमाल कर सकूं। इस फिक्स के लिए एलेक्स आपका बहुत बड़ा धन्यवाद।
पिक मिकेल

6
यह केवल एक बार मदद करेगा, लेकिन आप यहां Vusial Studio में "डायग्नोस्टिक टूल" को निष्क्रिय कर सकते हैं: टूल्स -> विकल्प -> डिबगिंग -> जनरल -> चेकबॉक्स "डीबगिंग करते समय डायग्नोस्टिक्स टूल सक्षम करें"
एंड्री प्रोखोरोव

1
मुझे "सेलेक्ट टूल्स" ड्रॉप-डाउन (विज़ुअल स्टूडियो 2015 में) नहीं मिल रहा है। किसी भी विचार यह कहाँ है?
प्रति लंडबर्ग

1
@PerLundberg यदि आप "Select Tools" का पता नहीं लगा सकते हैं तो नीचे दिए गए ब्रायन के उत्तर का प्रयास करें (इन टिप्पणियों में एंड्री के समान)। यह अब मेरा पसंदीदा समाधान है कि हर समय केवल मेमोरी / सीपीयू मॉनिटरिंग को निष्क्रिय रखा जाए। अगर मुझे इसकी आवश्यकता है तो मुझे पता है कि इसे कैसे सक्षम किया जाए।
एलेक्स

ध्यान दें कि यदि आप डिबग सत्र में हैं और आप एलेक्स का विकल्प करते हैं, जबकि आपकी मेमोरी / सीपीयू मॉनिटरिंग बंद हो जाएगी, तो अनुरोध तब तक नहीं होगा जब तक आप अपने डिबग सत्र को रोकते और पुनः आरंभ नहीं करते हैं! यह मुश्किल रास्ता मिल गया।
vapcguy

88

मेरे लिए, Fiddler4 के बजाय Fiddler4 को "स्पैमिंग" को रोकने के लिए फिक्स, जिसे मैं करने के लिए चुन सकता था, एक Visual Studio 2015 विकल्प बदलना था:

दृश्य स्टूडियो 2015 -> उपकरण -> विकल्प -> डिबगिंग -> सामान्य -> ​​अनचेक / अक्षम करें "डीबगिंग करते समय नैदानिक ​​उपकरण सक्षम करें"

यहां छवि विवरण दर्ज करें

VSHUB.exe सेवा में वह सेवा होनी चाहिए जो डीबगिंग के दौरान डायग्नोस्टिक टूल का समर्थन करती है और आपकी वेबसाइट / वेबपीआई / वेब ऐप को लगातार डिबग कर रही है। मुझे डिबगिंग की जरूरत नहीं है। इस समय डायग्नोस्टिक टूल इसलिए मैंने इसे विजुअल स्टूडियो में अक्षम कर दिया है

VSHUB.exe को अक्षम करने के संबंध में, मुझे ऐसा करने के लिए प्रलोभन दिया गया, जब तक कि मैं Microsoft के किसी व्यक्ति से नहीं पढ़ता, इसका बेहतर विजुअल स्टूडियो 2015 के अनुभव के लिए इसे अक्षम न करना और वे विज़ुअल स्टूडियो में नई सुविधाएँ जोड़ना जो VSHUB.exe का उपयोग करते हैं समय:

मैं सिस्टम ट्रे में VsHub.exe को कैसे अक्षम करूं?


@BrianOgden पे! धन्यवाद। अंत में, वीएस 2015 का जवाब। प्रत्येक रिलीज़ पर विज़ुअल स्टूडियो के मेनू बहुत बदल गए हैं। अचानक यह उपकरण - VsHub - सभी विस्की हो गया, और मुझे नहीं पता कि क्यों। विंडोज 10 स्वचालित अपडेट के साथ, यह हो सकता है कि मेरी जानकारी के बिना।
ऑक्टोपसग्राबस

इस तरह से करने वाले किसी भी व्यक्ति के लिए ध्यान दें, यदि आप डिबग सत्र के बीच में ऐसा करते हैं, तो आपके अनुरोध तब तक फ़िडलर में कैद नहीं होंगे जब तक आप अपना डिबग सत्र रोकना और पुनः आरंभ नहीं करते।
vapcguy

21

डिबगिंग करते समय समस्या Visual Studio के डायग्नोस्टिक टूल्स के कारण होती है।

आप उन्हें में जाकर निष्क्रिय कर सकते हैं उपकरणविकल्प , और उसके बाद निम्न चरणों का पालन: यहां छवि विवरण दर्ज करें


अच्छा ग्राफिक। ब्रायन ओगडेन ने आपको पहले ही हरा दिया, हालांकि - डुप्लिकेट उत्तर। इस तरह से करने वाले किसी भी व्यक्ति के लिए ध्यान दें, यदि आप डिबग सत्र के बीच में ऐसा करते हैं, तो आपके अनुरोध तब तक फिडलर में कैद नहीं होंगे जब तक आप अपने डिबग सत्र को रोकना और पुनः आरंभ नहीं करते।
vapcguy

@vapcguy मैं मानता हूं कि मेरा उत्तर अलग नहीं है, लेकिन मैं एक ग्राफिक पोस्ट करने वाला पहला व्यक्ति था । ब्रायन ने बाद में ग्राफिक को शामिल करने के लिए अपना उत्तर संपादित किया। हालांकि यह ठीक है, जब तक कि लोगों को उनके जवाब नहीं मिलते।
सेर्गेई

20

यह vshub ट्रैफ़िक को छिपाने का एक आसान विकल्प है।

टूल्स> फिडलर ऑप्शन्स> कनेक्शन टैब पर जाएं और http://localhost:49155बाईपास सूची में जोड़ें । यह उस URL पर पोस्ट किए गए सभी ट्रैफ़िक को छोड़ देगा।

* संपादित करें: बाईपास सूची में जोड़ने के बाद फ़िडलर को फिर से शुरू करने की आवश्यकता हो सकती है।


2
फ़िडलर को पुनः आरंभ करने के बाद ही यह परिवर्तन लागू किया गया था।
बासेम

@ बासेम, यह भी मेरे लिए पुनरारंभ किए बिना।
पटेल पटेल

9

इसे हल करने का सबसे आसान तरीका है कि फिल्टर को फ़िडलर में सेट करना। 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
    }


    }

2

SpokaneDJ का जवाब मेरे लिए बहुत मददगार था और बहुत अच्छा काम किया, लेकिन मैं फिडलर के साथ बहुत समय नहीं बिता पाया, इसलिए मुझे यह याद करने में एक मिनट लग गया कि मुझे यह कैसे करना है! यहाँ विशिष्ट निर्देश हैं।


सबसे पहले, Fiddler UI के भीतर, Rules> पर जाएं Customize RulesOnBeforeResponseफ़ंक्शन के लिए खोजें । इसे ऐसा दिखना चाहिए:

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

मौजूदा मौजूदा के बाद अब निम्नलिखित if ब्लॉक को जोड़ें (यदि आपका vshub होस्ट / पोर्ट अलग हो तो):

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

0

उपरोक्त ने मेरे लिए काम नहीं किया, जैसे कि। ऐसा लग रहा था कि लोकलहोस्ट होस्ट की ऑल फिडलर मॉनिटरिंग को बंद कर दिया गया था।

थोड़ा विवेकपूर्ण गुग्लिंग ने मुझे एक और समाधान दिया - पोर्ट को विशेष रूप से OnBeforeRequest अनुभाग के नीचे से जोड़कर ब्लॉक करने के लिए:

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

ऐसा लगता है कि पोर्ट को फिडलर में सूचित किया जा रहा है, और आगे लोकलहोस्ट यातायात को बाधित किए बिना।


1
आपको यह उल्लेख करना चाहिए कि आप किस उत्तर का उल्लेख "उपरोक्त" कर रहे हैं क्योंकि यहां उत्तर कई कारकों के आधार पर ऊपर और नीचे स्थानांतरित हो सकते हैं।
सेर्गेई

निष्पक्ष बिंदु। उस समय यह अन्य सभी समाधानों के लिए लागू होता है, लेकिन ऐसा प्रतीत होता है कि इसके बाद से अधिक जोड़ा गया है। मैं भविष्य में इसे ध्यान में रखूंगा।
रिच हावर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.