2012-08-23 15 views
8

Tôi có một ứng dụng Windows đang kết nối với một Dịch vụ Dữ liệu WCF được lưu trữ trên cùng một máy.Tại sao Dịch vụ Dữ liệu WCF hoạt động tốt hơn trong khi Fiddler đang chạy?

Điều đầu tiên xảy ra khi ứng dụng bắt đầu là truy vấn trả về 0 đến 3 kết quả. Dưới đây là các mã:

var environments = ctx.Environments 
.AddQueryOption("$filter", "Environment eq '" + ConfigurationManager.AppSettings["environment"] + "'") 
.AddQueryOption("$expand", "Departments, SecurityGroups"); 

Điều hôm sau tôi làm là kiểm tra xem (environments.Count() == 0) mất khoảng 10 giây để đánh giá. Nó có vẻ là chậm nhất lần đầu tiên, nhưng luôn luôn mất hơn 6 giây. Tuy nhiên, nếu tôi đang chạy Fiddler, tôi luôn nhận được kết quả ngay lập tức.

Tại sao Fiddler chạy nhanh hơn?

+0

Fiddler không nên có bất kỳ tác dụng phụ nào trong ứng dụng của bạn. Bạn nên điều tra ở một số nơi khác. – DarthVader

+0

@ DarthVader: Tôi cũng không nghĩ vậy, và tôi đặc biệt không mong đợi sự gia tăng hiệu suất khi nó chạy. Tuy nhiên, nó đang xảy ra. – DarLom

+0

tại sao bạn không gỡ lỗi ứng dụng của bạn và xem những gì gây ra sự chậm trễ? và gỡ lỗi trong khi fiddler đang chạy. thấy sự khác biệt. – DarthVader

Trả lời

0

Tôi đánh giá cao tất cả các câu trả lời, nhưng cuối cùng nó xuất hiện một cái gì đó đã sai với môi trường phát triển VS 2010 của tôi. Tôi đã có thể đối phó với phản ứng chậm đầu tiên bằng cách giữ Fiddler và chạy, nhưng sau khi cài đặt bộ điều khiển Telerik, các ứng dụng của tôi đã mất gần một phút để tải biểu mẫu trong khi gỡ lỗi. Nghi ngờ điều này liên quan đến vấn đề khác, tôi đã cài đặt VS 2012 và nâng cấp các dự án của mình và bây giờ mọi thứ hoạt động như mong đợi.

Cảm ơn bạn một lần nữa vì câu trả lời của bạn.

0

Như weismat đề xuất, đó có thể là sự cố DNS. Nếu bạn đang sử dụng tên DNS trong URL WCF của mình, hãy thử sử dụng loopback ip thay thế (127.0.0.1) hoặc IP cục bộ của bạn.

1

Khi bạn chạy trình phát, nó hoạt động như một proxy cho tất cả các cuộc gọi mạng, phải không? Vì vậy, có lẽ proxy này đáp ứng nhanh hơn so với máy chủ DNS thực. Thời gian kết nối bạn đã đặt trong cấu hình ràng buộc là gì?