visual studio 2015 vshub เป็นนักเล่นซอลสแปม


201

ฉันได้อ่าน: ฉันจะปิดการใช้งาน VsHub.exe ในถาดระบบได้อย่างไร และ https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off

ฉันไม่ต้องการปิดการใช้งาน vshub; ฉันแค่อยากให้มันเงียบกว่าเมื่อฉันใช้พู้ทำเล่น ตอนนี้มันพ่นทุกอย่างออกไปและฉันไม่สามารถแก้ไขข้อบกพร่องทั่วไปได้

ไม่มีใครรู้วิธีแก้ปัญหา? ฉันจะบล็อก vshub ไม่ให้ปรากฏในพู้ทำเล่นโดยไม่ปิดกั้นส่วนที่เหลือของ locahost ได้หรือไม่

คำตอบ:


268

นี่เป็นปัญหาที่ค่อนข้างใหม่เนื่องจาก System.NET ใช้ในการข้ามการตั้งค่าพร็อกซีสำหรับ localhost ดังนั้น Fiddler จะไม่เห็นทราฟฟิกตามค่าเริ่มต้น ( http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp ) - ดูส่วนล่าง

ตอนนี้ดูเหมือนว่าจะไม่เป็นเช่นนี้อีกต่อไปดังนั้นฉันคาดหวังว่าผู้คนจำนวนมากจะมีคำถามเดียวกัน Fiddler สนับสนุนการกรองคำขอได้หลายวิธีแม้ว่าจะไม่มีสิ่งใดที่ไคลเอ็นต์สามารถควบคุมได้ (ซึ่งน่าจะดีเนื่องจากคุณไม่ต้องการให้มัลแวร์ยกเว้นการรับส่งข้อมูล) กลไกที่เหมาะสมและง่ายที่สุดในกรณีนี้น่าจะตั้งตัวกรองสำหรับ url ใด ๆ ที่มี localhost หรือ vshub คุณสามารถทำได้โดย:

  1. คลิกแท็บตัวกรอง (เป็นแท็บระดับบนสุดในระดับเดียวกับผู้ตรวจสอบสถิติ ฯลฯ )
  2. ทำเครื่องหมายในช่องที่มีข้อความ 'ใช้ตัวกรอง'
  3. เลื่อนลงและค้นหาช่องทำเครื่องหมายที่มีข้อความ 'ซ่อนถ้ามี URL'
  4. ทำเครื่องหมายที่ช่องนั้นและป้อน localhost หรือ vshub ลงในกล่องข้อความประกอบ
  5. คุณควรเห็น vshub traffic หยุดทันที

ตัวกรองนี้จะยังคงอยู่ดังนั้นหากคุณปิด Fiddler และเริ่มต้นใหม่อีกครั้งในภายหลังตัวกรองจะยังคงถูกตั้งค่า


4
ขอบคุณ @Anson การซ่อนคำขอจำนวนมากเหล่านี้จะทำให้ Fiddler ใช้งานได้อีกครั้ง แต่เรื่องนี้ยังคงเป็นปัญหาร้ายแรงแน่นอน นอกจากนี้ยังทำให้คุณสงสัยว่าเหตุใด Visual Studio หรือกระบวนการใด ๆ ที่เกี่ยวข้องในเวลาต่อมาทำให้การร้องขอเหล่านี้เกิดขึ้นครั้งแรก (retorical) หากคุณไม่สะดวกจากนี้เช่นกันเพิ่มลงคะแนนได้ทั้งMS เชื่อมต่อข้อผิดพลาด # 1919828และ / หรือผ่านปัญหา ASP.NET MVC #
Juliën

4
เพียงเพิ่มคุณสามารถใช้ || ผู้ประกอบการในช่อง 'ซ่อนถ้ามี URL' หากคุณต้องการซ่อนคำขออื่น ๆ เช่น browserlink
Nick Spicer

4
@Moriarty re: ...why Visual Studio is making these requests... นี่เป็นเพราะกระบวนการกำลังสื่อสารกันผ่าน HTTP บนอะแดปเตอร์ลูปแบ็ค . ปริมาณการใช้งานนี้ถูกสร้างขึ้นสำหรับ "ในขณะ" ตอนนี้ เพิ่งมีการเปลี่ยนแปลงซึ่งจะปรากฏตามค่าเริ่มต้นเป็น HTTP พร็อกซี ... ดังนั้นฉันไม่แน่ใจว่าทำไมคุณถึงพิจารณาข้อบกพร่องนี้
K. Alan Bates

2
ซึ่งเป็นผลข้างเคียงของเครื่องมือดีบักระยะไกลใหม่ใน Visual Studio 2015 ฉันค่อนข้างแน่ใจ โดยเฉพาะอย่างยิ่งที่เกี่ยวข้องกับการข้ามการดีบักข้ามแพลตฟอร์มสำหรับ Cordova บนอุปกรณ์ Apple ฉันต้องการเดิมพันต่อไป พวกเขาอาจสร้างการเปลี่ยนแปลงเหล่านี้ในวิธีที่ทำให้พวกเขาสามารถขยายไปยังแพลตฟอร์มอื่น ๆ ในภายหลังดังนั้นการเปลี่ยนแปลงระดับโลก
Bon

1
นี่ไม่ใช่ทางออกที่ถูกต้อง มันซ่อนปัญหา โซลูชันด้านล่างลบเครื่องมือวินิจฉัยในขณะที่การดีบักใน VS เป็นโซลูชันที่แท้จริง
Rafi

132

คำขอเหล่านี้ดูเหมือนจะมาจากหน้าต่างเครื่องมือวินิจฉัยซึ่งจะทำงานเมื่อทำการดีบัก ดูเหมือนว่าพวกเขาจะให้ข้อมูลการตรวจสอบสำหรับการใช้งานหน่วยความจำและการใช้งาน CPU

คุณสามารถหยุดการร้องขอถ้าคุณไม่สนใจที่จะเห็นข้อมูลการใช้งานโดยการปิดการใช้งานการตรวจสอบหน่วยความจำ / CPU ในกล่องโต้ตอบเครื่องมือวินิจฉัย

  • เปิดหน้าต่างเครื่องมือวินิจฉัย (Debug -> Windows -> แสดงเครื่องมือวินิจฉัย)
  • คลิกเมนูแบบเลื่อนลง "เลือกเครื่องมือ" และยกเลิกการตรวจสอบการใช้หน่วยความจำและการใช้งาน CPU
  • หยุดการดีบักและครั้งต่อไปที่คุณเริ่มการดีบักคุณไม่ควรเห็นคำขอที่ทำกับ vshub อีกต่อไป

10
นั่นคือทางออกที่ถูกต้อง กำจัดข้อความสแปมทั้งหมดทันที ตอนนี้ฉันไม่สนใจซีพียู / หน่วยความจำฉันต้องการพู้ทำเล่นเพื่อทำความสะอาดเพื่อให้สามารถใช้งานได้อย่างถูกต้อง ขอบคุณมากสำหรับคุณอเล็กซ์สำหรับการแก้ไขนี้
Pic Mickael

6
นี้จะช่วยให้เพียงครั้งเดียว แต่คุณสามารถปิดการใช้งาน "เครื่องมือวิเคราะห์" ใน Vusial สตูดิโอที่นี่: เครื่องมือ -> ตัวเลือก -> การแก้จุดบกพร่อง -> ทั่วไป -> ช่องทำเครื่องหมาย "เปิดใช้งานเครื่องมือการวินิจฉัยในขณะที่การแก้จุดบกพร่อง"
อันเดรย์ Prokhorov

1
ฉันดูเหมือนจะไม่พบเมนูแบบเลื่อนลง "เลือกเครื่องมือ" (ใน Visual Studio 2015) ความคิดของมันอยู่ที่ไหน?
ต่อ Lundberg

1
@PerLundberg หากคุณไม่พบ "เลือกเครื่องมือ" ลองคำตอบของ Brian ด้านล่าง (เช่นเดียวกับ Andrey ในความคิดเห็นเหล่านี้) นี่เป็นโซลูชันที่ฉันต้องการเพียงแค่ปิดการใช้งานการตรวจสอบหน่วยความจำ / CPU ตลอดเวลา ถ้าฉันต้องการฉันรู้วิธีเปิดใช้งาน
อเล็กซ์

โปรดทราบว่าหากคุณอยู่ในช่วงการตรวจแก้จุดบกพร่องและคุณเลือกตัวเลือกของ Alex ในขณะที่การตรวจสอบหน่วยความจำ / CPU ของคุณจะหยุดทำงานคำขอจะไม่ทำงานจนกว่าคุณจะหยุดและเริ่มต้นเซสชันการดีบักใหม่! พบสิ่งนี้ด้วยวิธีที่ยากลำบาก
vapcguy

88

สำหรับฉันการแก้ไขหยุด "spamming" เป็น Fiddler4 แทนที่จะเป็นตัวกรอง Fiddler ซึ่งฉันสามารถเลือกทำคือเปลี่ยนตัวเลือก Visual Studio 2015:

Visual Studio 2015 -> เครื่องมือ -> ตัวเลือก -> การดีบัก -> ทั่วไป -> ยกเลิกการเลือก / ปิดการใช้งาน "เปิดใช้งานเครื่องมือการวินิจฉัยในขณะที่การดีบั๊ก"

ป้อนคำอธิบายรูปภาพที่นี่

บริการ VSHUB.exe จะต้องเป็นบริการที่ช่วยให้เครื่องมือวินิจฉัยในขณะที่ทำการดีบักและทำการกระตุกเว็บไซต์ / webapi / web app ที่คุณกำลังทำการดีบักอย่างต่อเนื่อง ฉันไม่ต้องการดีบัก เครื่องมือวินิจฉัยในเวลานี้ดังนั้นฉันเพิ่งปิดใช้งานใน Visual Studio

เกี่ยวกับการปิดการใช้งาน VSHUB.exe ฉันถูกล่อลวงให้ทำเช่นนั้นจนกว่าฉันจะอ่านจากใครบางคนที่ Microsoft สิ่งที่ดีที่สุดที่จะไม่ปิดการใช้งานเพื่อประสบการณ์ Visual Studio 2015 ที่ดีกว่าและพวกเขาเพิ่มคุณสมบัติใหม่ให้กับ Visual Studio ที่ใช้ VSHUB.exe เวลา:

ฉันจะปิดการใช้งาน VsHub.exe ในถาดระบบได้อย่างไร


@BrianOgden Phew! ขอบคุณ. ในที่สุดคำตอบของ VS 2015 เมนูของ Visual Studio มีการเปลี่ยนแปลงอย่างมากในแต่ละรุ่น ทันใดนั้นเครื่องมือนี้ - VsHub - ไร้สติและฉันไม่รู้ว่าทำไม ด้วยการอัปเดตอัตโนมัติของ Windows 10 อาจเป็นไปได้ว่าโดยที่ฉันไม่รู้
octopusgrabbus

หมายเหตุสำหรับทุกคนที่ทำเช่นนี้ถ้าคุณทำในขณะที่อยู่ในช่วงกลางของการดีบักคำขอของคุณจะไม่หยุดถูกจับใน Fiddler จนกว่าคุณจะหยุด & รีสตาร์ทเซสชันการแก้ปัญหาของคุณ
vapcguy

21

ปัญหานี้เกิดจากเครื่องมือวินิจฉัยของ Visual Studio ขณะทำการดีบัก

คุณสามารถปิดใช้งานได้โดยไปที่เครื่องมือตัวเลือกจากนั้นทำตามขั้นตอน: ป้อนคำอธิบายรูปภาพที่นี่


กราฟิกที่ดี Brian Ogden เอาชนะคุณไปแล้ว - คำตอบที่ซ้ำกัน หมายเหตุสำหรับทุกคนที่ทำเช่นนี้ถ้าคุณทำในขณะที่อยู่ในช่วงกลางของการดีบักคำขอของคุณจะไม่หยุดถูกจับใน Fiddler จนกว่าคุณจะหยุด & รีสตาร์ทเซสชันการแก้ปัญหาของคุณ
vapcguy

@ vapcguy ฉันยอมรับว่าคำตอบของฉันไม่แตกต่างกันแต่ฉันเป็นคนแรกที่โพสต์กราฟิก Brian แก้ไขคำตอบของเขาในภายหลังเพื่อรวมกราฟิก แม้ว่ามันจะไม่เป็นไรตราบใดที่ผู้คนได้รับคำตอบ
Sergey

20

นี่เป็นทางเลือกที่ง่ายกว่าในการซ่อนทราฟฟิกของ vshub

ไปที่เครื่องมือ> ตัวเลือกของนักไวโอลิน> แท็บการเชื่อมต่อและเพิ่มลงhttp://localhost:49155ในรายการบายพาส นี่จะข้ามปริมาณการใช้งานทั้งหมดที่โพสต์ไปยัง URL นั้น

* แก้ไข: พู้ทำเล่นอาจต้องรีสตาร์ทหลังจากเพิ่มไปยังรายการบายพาส


2
การเปลี่ยนแปลงนี้ถูกนำไปใช้หลังจากที่ฉันเริ่ม Fiddler ใหม่เท่านั้น
Bassem

@Bassem มันยังไม่รีสตาร์ทสำหรับฉัน
Smit Patel

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 Rulesค้นหาOnBeforeResponseฟังก์ชั่น ควรมีลักษณะเช่นนี้:

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

ดังกล่าวไม่ได้ผลสำหรับฉันเช่นนี้ ดูเหมือนว่าจะปิดตัวติดตามพู้ทำเล่นทั้งหมดของโฮสต์ localhost

googling นิดหน่อยให้วิธีแก้ปัญหาอื่นแก่ฉัน - เพื่อบล็อกพอร์ตโดยเฉพาะโดยเพิ่มสิ่งนี้ลงที่ด้านล่างของส่วน OnBeforeRequest:

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

ดูเหมือนว่าจะปิดกั้นพอร์ตไม่ให้รายงานใน Fiddler โดยไม่รบกวนการรับส่งข้อมูล localhost เพิ่มเติม


1
คุณควรพูดถึงคำตอบที่คุณอ้างถึงว่าเป็น "ด้านบน" เนื่องจากคำตอบที่นี่สามารถเลื่อนขึ้นและลงตามปัจจัยหลายอย่าง
Sergey

จุดยุติธรรม ในเวลานั้นมันนำไปใช้กับโซลูชั่นอื่น ๆ ทั้งหมด แต่มันก็ปรากฏเพิ่มมากขึ้นตั้งแต่นั้นมา ฉันจะจำไว้ว่าในอนาคต
Rich Howard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.