我通过第3章跟踪了这个guide。我有相同的AzureCloudTable
和AzureCloudService
作为指南。我对模型有相同的TableData
基类。我虽然没有创建Todo应用程序。相反,我有7个模型与Azure中的模型相同,他们使用EntityData
作为基类,就像指南对其Todo对象一样。
因为我已经完成了第3章,所以我也有同步的东西。事实上,我的本地数据库确实已经完全填充,所以我知道Azure部分工作正常。
我苦苦挣扎的是,当ViewModel中的客户端调用数据时,它会在IMobileServiceSyncTable
对象ToListAsync()
上执行此操作。 (通过ViewModel的构造函数,就像第1章:为应用程序构建UI 中的指南一样。)
第一次(即自启动以来的第一次)我打电话给ToListAsync
,我得到记录,50或更多,具体取决于我如何配置API。下次我拨打ToListAsync
时,要么循环播放下一个50,要么另一个TableData
,我会收到未处理的异常。我获得第一个或第二个TableData
对象并不重要。 7的任何组合在第二次调用时抛出相同的异常。
没有尝试/捕获也可以调解。 (顺便说一句,我确实想知道原因)执行直接进入App.g.i.cs.InitializeComponent
,其中存在UnhandledException
处理程序。
该处理程序中的 e 对象仅显示:
e.Exception.Message = "Value does not fall within the expected range."
e.Message = "Value does not fall within the expected range."
我在我的API解决方案中使用了Microsoft.Azure.Mobile.Server。* nuget软件包的v2.0.0。
我在我的应用解决方案中使用了Microsoft.Azure.Mobile.Client。* nuget软件包的v4.0.2。
我正在使用Visual Studio 2017 15.6.6