【问题标题】:Xamarin Azure Easy Table Connection CancelledByNetworkError exceptionXamarin Azure 简易表连接 CancelledByNetworkError 异常
【发布时间】:2017-07-26 15:58:36
【问题描述】:

我是 xamarin 和 azure easy table 的新手。我只是想试试看。我在 xamarin 大学遵循了几个例子,如 cups of coffee 和待办事项列表。我成功部署了我的简易表。但是,当我尝试编写自己的连接并插入时。好像不行。

下面是我的初始化代码:

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; }
}

如何解决这个异常?我有互联网连接。 我只想与我的 azure 服务通信。 感谢您的帮助。

【问题讨论】:

    标签: azure xamarin mobile json.net


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多