2013-07-01 80 views
2

正常的OData查詢只是一個URL。在客戶端登錄wcf數據服務(OData)請求URL

我有一個使用WCF數據服務(OData)的WPF應用程序,我希望能夠記錄發送到服務器以解析的每個URL。 (以跟蹤性能問題和重複查詢。)

有沒有辦法插入WCF數據服務的客戶端調用來獲取此URL,然後將其發送到服務器? (當談到理想回(個人查詢的性能分析)

回答

3

您可以監聽事件之一上DataServiceContext和每一個事件被觸發時登錄請求的URL,例如:。

var context = new DataServiceContext(new Uri("http://services.odata.org/v3/OData/OData.svc")); 
context.BuildingRequest += (sender, eventArgs) => Console.Out.WriteLine(eventArgs.RequestUri); 

另外,監聽SendingRequest2會工作,以及:

context.SendingRequest2 += (sender, eventArgs) => Console.Out.WriteLine(eventArgs.RequestMessage.Url); 

用於登錄的網址,監聽兩種情況下應該罰款。如果在某些時候,你也想修改傳出URL之前的請求。發送,使用BuildingRequest

+0

SendingRequest做到了。謝謝! – Vaccano