2017-07-26 56 views
0

我是Xamarin和azure easy表中的新手。我只想嘗試一下。我跟隨了幾個例子,如cups of coffee和xamarin大學的待辦事項列表。我成功部署了簡易表。但是,當我試圖寫我自己的連接並插入。它似乎沒有用。Xamarin Azure輕鬆表連接CancelledByNetworkError異常

下面是我的初始化代碼:

var Client = new MobileServiceClient("http://appname.azurewebsites.net"); 
var path = Path.Combine(MobileServiceClient.DefaultDatabasePath, "escapedb.db"); 
var store = new MobileServiceSQLiteStore(path); 
store.DefineTable<InventoryModel>(); 
await Client.SyncContext.InitializeAsync(store); 
inventoryTable = Client.GetSyncTable<InventoryModel>(); 

下面是我的插入代碼:

var test = new InventoryModel() { Id = "12344", Name = "Sample", Quantity = 1 }; 
await inventoryTable.InsertAsync(test); 
await SyncInventory(); 

當它調用插入,它拋出一個錯誤 Microsoft.WindowsAzure.MobileServices.Sync .MobileServicePushStatus.CancelledByNetworkError

這是我的庫存模型:

public class InventoryModel 
{ 
    [Newtonsoft.Json.JsonProperty("id")] 
    public string Id { get; set; } 

    [Newtonsoft.Json.JsonProperty("name")] 
    public string Name { get; set; } 

    [Newtonsoft.Json.JsonProperty("quantity")] 
    public int Quantity { get; set; } 
} 

如何解決這個異常?我有一個互聯網連接。 我只想與我的天藍色服務進行溝通。 謝謝你的幫助。

回答

0

當它調用插入,它拋出一個錯誤Microsoft.WindowsAzure.MobileServices.Sync.MobileServicePushStatus.CancelledByNetworkError

MobileServicePushStatus.CancelledByNetworkError意味着你的推送操作被中止由於網絡錯誤。我會建議你在處理同步操作時捕捉到MobileServicePushFailedException。有關更多詳細信息,請參閱Handling Conflict Resolution。另外,您可以利用Fiddler收集網絡跟蹤並檢索詳細的錯誤消息以縮小此問題。此外,在處理同步操作時,我建議您參考Detecting Connection State

此外,您可以嘗試通過瀏覽器訪問您的移動應用程序來隔離此問題,並確定問題是否會影響您設備的網絡。要瀏覽您的移動應用程序,您可以參考The HTTP Table Interface