因此,我有一个工作的使用azure移动服务的xamarin表单应用程序。我升级了服务器端以使用移动应用服务,并升级了我的客户端中的nugets以使用最新且最好的客户端代码。Azure/Xamarin移动应用程序挂在SyncContext.InitializeAsync
我手动更新了我的测试/ ios模拟器sqlite数据库使用正确的列名称的系统属性,因为他们丢弃了双下划线前缀。
当我终于得到它所有的内置并试图运行在ios 6/8.3模拟器上时,它运行良好,直到它遇到InitializeAsync方法。它不会抛出(它的尝试捕获),我让它运行很长一段时间,它只是坐在那里。
然后,我试图改变数据库的名称,所以它会从头开始,但它仍然只是挂起。于是我尝试将其简化为单个表格,然后拿出我的委托处理程序,这样它就像我可以得到它一样基本,并且它仍然挂起。
有没有其他人有这个问题?我完全失败,因为我没有收到错误。不知道从哪里开始。
谢谢。
编辑,代码补充说:
var store = new MobileServiceSQLiteStore(_localDatabaseName);
store.DefineTable<Profile>();
try
{
await _mobileService.SyncContext.InitializeAsync(store);
}
catch (Exception e)
{
Debug.WriteLine(e.Message);
}
我也试图与ConfigureAwait(假)的建议,但它并没有区别。 我在捕获中设置了断点以及紧跟在这个块之后的代码,但它们从未被命中。
你能尝试像这样添加ConfigureAwait(false):InitializeAsync()。ConfigureAwait(false)并重试? – wishmaster
@jmichas - 你能发布你的代码吗? – Giorgi