2015-04-01 120 views
-1

我一直在閱讀關於使用Azure的自定義auth方法,並偶然發現12 Days of ZUMO。這是一個很好的寫作,但我似乎無法在當前的.Net客戶端SDK for Azure中找到與IServiceFilter相關的任何內容。Azure移動服務過濾器 - 刪除?

我正在用C#開發一個Xamarin應用程序。

此功能已被移除或重新定位?我引用了所有Azure命名空間,並且intellisense無法找到IServiceFilter或與服務過濾器相關的任何其他內容。

感謝您的閱讀。

回答

0

我目前正在爲Java開發一個Android應用程序(我不認爲這個C#庫是非常不同的)。 而且我可以訪問ServiceFilter。但是我沒有看到IServiceFilter。

命名空間 - com.microsoft.windowsazure.mobileservices.http.ServiceFilter

庫版本 - 2.0.2-β2

0

在Xamarin,你需要使用DelegateHandler代替。這是過濾http流量的標準.net方式。

Client = new MobileServiceClient (API_URL, new MyExistingHandler()); 

到:

Client = new MobileServiceClient (API_URL, new MyLogFilter(), new MyExistingHandler()); 

public class MyLogFilter : DelegatingHandler 
{ 
    protected override async Task<HttpResponseMessage> SendAsync(
     HttpRequestMessage request, CancellationToken cancellationToken) 
    { 
     // Do any pre-request requirements here 
     Log.Warning("http request", request.RequestUri.ToString()); 

     // Request happens here 
     var response = await base.SendAsync(request, cancellationToken); 

     // Do any post-request requirements here 
     Log.Warning("http response", response.StatusCode + " " + response.Content.ReadAsStringAsync().Result); 

     return response; 
    } 
} 

一旦你做到了這一點,你初始化你的MobileServiceClient時,改變這只是鏈中的處理程序