2012-08-23 49 views
8

我有一個Windows應用程序連接到託管在同一臺機器上的WCF數據服務。爲什麼WCF數據服務在Fiddler運行時表現更好?

應用程序啓動時發生的第一件事是返回0到3結果的查詢。這裏是代碼:

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

我接下來要做的事情是檢查是否需要大約10秒來評估的(environments.Count()== 0)。這似乎是第一次最慢,但總是需要超過6秒。但是,如果我正在運行Fiddler,我總是會立即得到結果。

爲什麼Fiddler運行速度更快?

+0

提琴手不應該在你的應用程序中有任何副作用。你應該在其他地方進行調查。 – DarthVader

+0

@DarthVader:我也不這麼認爲,我特別不希望在運行時性能提高。儘管如此,它正在發生。 – DarLom

+0

爲什麼不調試你的應用程序,看看造成延遲的是什麼?並在fiddler運行時進行調試。看到不同。 – DarthVader

回答

0

我很欣賞所有的答案,但最終我的VS 2010開發環境出現了問題。我能夠通過讓Fiddler保持運行來處理緩慢的第一響應,但是在安裝Telerik控件套件後,我的應用程序花費了近一分鐘的時間在調試時加載表單。懷疑這與另一個問題有關,我安裝了VS 2012並升級了我的項目,現在一切正常。

再次感謝您的回覆。

0

正如weismat所說,它可能是DNS問題。如果您在WCF URL中使用DNS名稱,請嘗試使用loopback ip(127.0.0.1)或本地IP。

1

當您運行fiddler時,它充當所有網絡調用的代理,對吧?所以這個代理可能比真正的DNS主機響應得更快。您在綁定配置中設置的連接時間是多長?

相關問題