第二次调用时ToListAsync失败

时间:2018-04-16 22:05:21

标签: c# linq azure azure-mobile-services

我通过第3章跟踪了这个guide。我有相同的AzureCloudTableAzureCloudService作为指南。我对模型有相同的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

0 个答案:

没有答案