我是xamarin和azure Easy table的新手。我只是想尝试一下。我遵循了几个例子,例如 xamarin 大学的咖啡杯和待办事项清单。我成功部署了我的简易表。但是,当我尝试编写自己的连接并插入时。似乎行不通。
以下是我的初始化代码:
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.CancelByNetworkError
这是我的库存模型:
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 服务通信。 谢谢你的帮助。
当它调用insert时,它会抛出错误Microsoft.WindowsAzure.MobileServices.Sync.MobileServicePushStatus.CancelByNetworkError
MobileServicePushStatus.CancelledByNetworkError
表示推送操作由于网络错误而中止。我建议您在处理同步操作时捕获MobileServicePushFailedException。有关更多详细信息,您可以参考处理冲突解决。此外,您可以利用 Fiddler 收集网络跟踪并检索详细的错误消息以缩小此问题的范围。此外,在处理同步操作时,我建议您参考检测连接状态。
此外,您可以尝试通过浏览器访问您的移动应用程序以隔离此问题,并找出问题是否与您的设备网络有关。要浏览您的移动应用程序,您可以参考 HTTP 表接口。