Xamarin Azure Easy Table连接CancelledByNetworkError异常

时间:2017-07-26 15:58:36

标签: azure xamarin mobile json.net

我是xamarin和azure easy table的新手。我只是想尝试一下。我跟随了xamarin大学中的cups of coffee和待办事项列表等几个例子。我成功部署了easy table。但是,当我尝试编写自己的连接并插入时。它似乎无法运作。

以下是我的初始化代码:

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();

当它调用insert时,会抛出错误 的 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; }
}

如何解决此异常?我有一个互联网连接。 我只想和我的天蓝色服务沟通。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

  

当它调用insert时,会抛出错误Microsoft.WindowsAzure.MobileServices.Sync.MobileServicePushStatus.CancelledByNetworkError

MobileServicePushStatus.CancelledByNetworkError表示您的推送操作因网络错误而中止。我建议您在处理同步操作时捕获MobileServicePushFailedException。有关详细信息,请参阅Handling Conflict Resolution。此外,您可以利用Fiddler收集网络跟踪并检索详细的错误消息以缩小此问题。此外,在处理同步操作时,我建议您参考Detecting Connection State

此外,您可以尝试通过浏览器访问您的移动应用程序以隔离此问题,并查明该问题是否与您设备的网络有关。要浏览您的移动应用,您可以参考The HTTP Table Interface