2015-12-04 33 views
116

Tôi đã cài đặt Visual Studio Update 1 hôm qua và bây giờ khi chạy dịch vụ ASP.NET cục bộ trên IIS (không phải là phiên bản nhanh). Tôi thấy hàng trăm yêu cầu mỗi giây đến địa chỉVisual Studio 2015 Update 1 gửi thư rác localhost

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

Điều gì gây ra điều này và có thể phòng ngừa được không?

+29

VSHub là thành phần hiển thị mức sử dụng bộ nhớ và CPU trực tiếp khi bạn gỡ lỗi. Bạn không * có * để sử dụng nó, tắt nó đi với Tools> Options> Debugging> General> untick "Enable Diagnostic Tools trong khi gỡ lỗi". Hoặc chỉ không cảm thấy khó chịu bởi những tính năng gỡ lỗi tuyệt vời này. –

+5

Thật khó chịu khi bạn sử dụng công cụ tìm kiếm ... nhờ có KyleUp để có giải pháp tốt – Poku

+0

Bản sao có thể có của [visual studio 2015 vshub là spam fiddler] (http://stackoverflow.com/questions/33837163/visual-studio- 2015-vshub-is-spamming-fiddler) –

Trả lời

106

Một tùy chọn khác để ngăn không cho kẻ lừa đảo nhai CPU của bạn là viết một quy tắc trong công cụ không sử dụng để bỏ qua các yêu cầu đó. Goto Rules> Tùy chỉnh quy ... tìm ra chức năng OnBeforeRequest và thêm

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

nên tôi trông như thế này:

static function OnBeforeRequest(oSession: Session) { 
    if(oSession.oRequest.headers["host"]=="localhost:49155"){ 
     oSession["ui-hide"] = "true"; 
    } 
} 

như @matrixugly chỉ ra các cổng có thể khác nhau tùy thuộc vào phiên bản của VS . Giải pháp @ tedd-hansen có thể tốt hơn trên tất cả các phiên bản của studio trực quan.

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

Dưới đây là một số thảo luận về vấn đề này trên github để hiểu rõ hơn về những gì đang diễn ra; https://github.com/aspnet/Mvc/issues/3655

Đây là một bài đăng khác về SO cho cùng một vấn đề; visual studio 2015 vshub is spamming fiddler

+2

Tôi vừa mới nâng cấp lên bản cập nhật VS2015 2 sáng nay và yêu cầu vshub của tôi có "localhost: 49160". Không chắc chắn nếu VS sử dụng một cổng khác nhau cho mỗi phiên bản. Có thể có thể cập nhật điều kiện để xem liệu "máy chủ" có bắt đầu bằng localhost hay không và url bắt đầu bằng/vshub / – matrixugly

50

Đây là trình gỡ lỗi gửi thông tin về quy trình VSHub. Đó là giao tiếp nội bộ giữa hai quy trình sao cho một phần của bộ sưu tập dữ liệu trình gỡ lỗi có thể xảy ra ngoài quy trình.

Nó giúp với công cụ gỡ lỗi, thông tin hiệu suất, trải nghiệm gỡ lỗi lịch sử và hơn thế nữa. Như vậy không có cách nào để tắt nó mà không làm tê liệt nghiêm trọng các tính năng gỡ lỗi nâng cao.

Bạn có thể bật một số các tính năng này (mặc dù các tính năng khác vẫn có thể dựa vào Vshub để làm việc out-of-quá trình ở chế độ nền):

cụ>Tùy chọn>Debugging>chung>[ ] Bật công cụ chẩn đoán trong khi gỡ lỗi

Các thông tin liên lạc hoàn toàn là địa phương và không đặt ra một chi phí nghiêm trọng hoặc là kiện. Có lý do cụ thể nào bạn muốn loại bỏ nó không? Các công cụ như Fiddler có thể được cấu hình để lọc theo quy trình, vì vậy bỏ qua lưu lượng truy cập này phải đơn giản.

+1

Tôi không muốn loại bỏ bất kỳ tính năng gỡ lỗi mới nào. Tôi chỉ đơn giản là nhìn thấy tài nguyên CPU cao bất thường đang được sử dụng (kể từ khi cài đặt cập nhật 1 ngày hôm qua) trên cả Fiddler và VS và nhận thấy những mục này xuất hiện trong Fiddler. Tôi chưa điều tra bất kỳ tính năng gỡ lỗi mới nào của Bản cập nhật 1 nhưng sẽ để lại chúng nếu có lợi cho tôi. Chúc mừng. – Fishcake

+1

Tôi phải đồng ý với @Fishcake rằng đây là những điều đáng lo ngại, phải lọc ra các cuộc gọi gỡ lỗi để xem các cuộc gọi httpclient của riêng tôi là một nỗi đau. Điều đó đang được nói, ý tưởng tốt để lọc. Tôi không biết đó là gì. – hal9000

7

Tôi nhận ra đây không phải là câu trả lời, nhưng nó có thể giúp những người khác đến đây (như tôi).

Mở rộng câu trả lời KyleUp đã cung cấp. Việc thêm phương thức này vào phương thức "OnBeforeRequest" là tổng quát hơn một chút và dừng tất cả các thông điệp localhost/vshub/debug khỏi việc lấp đầy khung nhìn trong Fiddler.

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

Vì đây đã trở thành cách để làm cho Fiddler bỏ qua các yêu cầu, cách dễ nhất tôi đã tìm thấy là để đi đến tab Filters, Yêu cầu phần Headers, đánh dấu vào "Ẩn nếu URL chứa" hộp và nhập "/ vshub /".

Hiding with Filters

3

Đây là một sự thay thế dễ dàng hơn để ẩn giao thông vshub localhost.

Chuyển đến tab Công cụ> Tùy chọn Fiddler> Kết nối và thêm http://localhost:49155 vào danh sách bỏ qua. Thao tác này sẽ bỏ qua tất cả lưu lượng truy cập được đăng lên Url đó.

Các vấn đề liên quan