我正在尋找方法來測量Fiddler中的服務調用響應時間,以便它包括進程的所有階段(創建請求,序列化爲xml,發送,獲取響應,反序列化它)。就像這樣:測量WCF服務調用Fiddler和C#應用程序的響應時間
var start = DateTime.Now;
// client is auto-generated C# SoapHttpClientProtocol proxy for WCF service
var response = client.GetWebMethod();
var finish = DateTime.Now;
var elapsed = (finish - start).TotalMilliseconds;
文檔提出使用ClientDoneRequest和ClientDoneResponse定時器之間的區別:
var elapsed = (oSession.Timers.ClientDoneResponse - Session.Timers.ClientDoneRequest).TotalMilliseconds;
結果我得到不同的約100%,和提琴手的價值觀是令人驚訝的兩次較小(預計反之亦然它的代理服務器必須爲傳遞請求開銷)。
這更像是我在尋找ClientDoneResponse - Client * 開始 *請求在這裏,但這兩個計時器(ClientStartRequest和ClientDoneRequest)的值在我的情況下是完全相等的。任何想法如何獲得在提琴手至少近似數字?提前致謝。
編輯
嘗試過ClientBeginRequest,它根本不起作用。
精度沒有問題(差別在150-200ms左右,這絕對不是時鐘問題)。我在Fiddler中測量的是與第一段代碼相同的值 - 在客戶端啓動請求之間花費的時間並獲得完全響應。 – Jaded