Visual Studio 2015 Update 1 localhost ที่สแปม


118

ฉันติดตั้งVisual Studio Update 1เมื่อวานนี้และตอนนี้เมื่อเรียกใช้บริการ ASP.NET แบบโลคัลบน IIS (ไม่ใช่เวอร์ชันด่วน) ฉันเห็นคำขอหลายร้อยครั้งต่อวินาทีไปยังที่อยู่

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

สาเหตุนี้เกิดจากอะไรและสามารถป้องกันได้หรือไม่?


30
VSHub เป็นส่วนประกอบที่แสดงการใช้งานซีพียูและหน่วยความจำแบบสดเมื่อคุณดีบัก คุณไม่จำเป็นต้องใช้มันปิดด้วย Tools> Options> Debugging> General> ยกเลิกการเลือก "Enable Diagnostic Tools while debug" หรืออย่าเพิ่งรำคาญกับคุณสมบัติการดีบั๊กที่ดี
Hans Passant

5
มันน่ารำคาญเมื่อคุณใช้มือเล่นซอ ... ขอบคุณ KyleUp สำหรับวิธีแก้ปัญหาที่ดี
Poku

เป็นไปได้ว่ารายการVisual Studio 2015 vshub
Michael Freidgeim

คำตอบ:


109

อีกทางเลือกหนึ่งในการป้องกันไม่ให้นักเล่นซอเคี้ยวซีพียูของคุณคือเขียนกฎในมือไม่พายเพื่อละเว้นคำขอเหล่านั้น ไปที่กฎ> กำหนดกฎ ... ค้นหาฟังก์ชัน 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 อาจดีกว่าใน Visual Studio ทุกเวอร์ชัน

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

นี่คือการอภิปรายเกี่ยวกับปัญหานี้ใน github เพื่อให้เข้าใจถึงสิ่งที่เกิดขึ้น https://github.com/aspnet/Mvc/issues/3655

นี่คือโพสต์อื่นใน SO สำหรับปัญหาเดียวกัน visual studio 2015 vshub สแปมมือไม่พาย


2
ฉันเพิ่งอัปเกรดเป็น VS2015 อัปเดต 2 เมื่อเช้านี้และคำขอ vshub ของฉันมี "localhost: 49160" ไม่แน่ใจว่า VS ใช้พอร์ตที่แตกต่างกันสำหรับแต่ละเวอร์ชัน อาจอัปเดตเงื่อนไขเพื่อดูว่า "โฮสต์" ขึ้นต้นด้วย localhost หรือไม่และ url ขึ้นต้นด้วย / vshub /
C. Tewalt

51

นี่คือดีบักเกอร์ที่ส่งข้อมูลกลับไปยังกระบวนการ VSHub เป็นการสื่อสารภายในระหว่างสองกระบวนการเพื่อให้ส่วนหนึ่งของการรวบรวมข้อมูลดีบักเกอร์สามารถเกิดขึ้นนอกกระบวนการได้

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

คุณสามารถปิดคุณลักษณะบางอย่างเหล่านี้ได้ (แม้ว่าคุณลักษณะอื่น ๆ อาจยังคงอาศัย Vshub ในการทำงานเบื้องหลังที่ไม่อยู่ในกระบวนการ):

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

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


2
ฉันไม่ต้องการกำจัดฟีเจอร์การดีบักใหม่ ๆ ฉันเพิ่งเห็นว่ามีการใช้ทรัพยากร CPU สูงผิดปกติ (ตั้งแต่ติดตั้งการอัปเดต 1 เมื่อวานนี้) ทั้ง Fiddler และ VS และสังเกตเห็นรายการเหล่านี้ปรากฏใน Fiddler ฉันยังไม่ได้ตรวจสอบคุณสมบัติการดีบักใหม่ของอัปเดต 1 แต่จะปล่อยไว้หากเป็นประโยชน์ต่อฉัน ไชโย
Fishcake

2
ฉันต้องเห็นด้วยกับ @Fishcake ว่าสิ่งเหล่านี้รบกวนการต้องกรองการเรียกดีบักเกอร์เพื่อดูการโทร httpclient ของฉันเองเป็นความเจ็บปวด ที่ถูกกล่าวว่าเป็นความคิดที่ดีที่จะกรอง ฉันไม่รู้ว่าสิ่งเหล่านี้คืออะไร
hal9000

18

เนื่องจากสิ่งนี้กลายเป็นวิธีที่ทำให้ Fiddler เพิกเฉยต่อคำขอวิธีที่ง่ายที่สุดที่ฉันพบคือไปที่แท็บตัวกรองส่วนหัวของคำขอเลือกช่อง "ซ่อนหาก URL มี" และป้อน "/ vshub /"

ซ่อนด้วยฟิลเตอร์


7

ฉันตระหนักดีว่านี่ไม่ใช่คำตอบ แต่อาจช่วยคนอื่น ๆ ที่มาที่นี่ (เช่นฉัน)

ขยายคำตอบที่ KyleUp ให้ การเพิ่มสิ่งนี้ในเมธอด "OnBeforeRequest" เป็นวิธีที่กว้างกว่าเล็กน้อยและหยุดข้อความ localhost / vshub / debug ทั้งหมดจากการเติมมุมมองใน Fiddler

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

3

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

ไปที่แท็บ Tools> Fiddler Options> Connections และเพิ่มลงhttp://localhost:49155ในรายการ bypass การดำเนินการนี้จะข้ามการเข้าชมทั้งหมดที่โพสต์ไปยัง URL นั้น

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