私はazureモバイルサービスを使用していた作業用のxamarinフォームアプリケーションを持っていました。私はサーバー側をモバイルアプリサービスを使用するようにアップグレードし、クライアントのナゲットをアップグレードして、最新かつ最高のクライアントコードを使用しました。Azure/Xamarin Mobile AppがSyncContext.InitializeAsyncでハングする
test/iosシミュレータsqlite dbを手動で更新して、システムのプロパティに適切な列名を使用するようにしました。これは、ダブルアンダースコアのプレフィックスを削除したためです。
最終的にすべてが構築され、ios 6/8.3シミュレータで実行しようとしたとき、InitializeAsyncメソッドがヒットするまで正常に実行されました。それは投げられません(試しにキャッチ)と私はそれが長い時間を実行させて、それはちょうどそこに座ってみましょう。
私はdb名を変更しようとしましたが、最初からやっていましたが、まだハングアップしていませんでした。だから私はそれを単一のテーブルに単純化しようとし、代行ハンドラを取り出したので、それを得ることができるように基本的なものだったので、まだハングアップしています。
他に誰かがこの問題を抱えていますか?私は間違いがないので、私は完全な喪失に瀕しています。どこから始めるべきかわからない。
ありがとうございました。
編集、コードを追加:
var store = new MobileServiceSQLiteStore(_localDatabaseName);
store.DefineTable<Profile>();
try
{
await _mobileService.SyncContext.InitializeAsync(store);
}
catch (Exception e)
{
Debug.WriteLine(e.Message);
}
示唆したように、私もConfigureAwait(偽)で試してみましたが、それは何の違いが行われていません。 catchと、このブロックの直後にあるコードにブレークポイントを設定しますが、決してヒットしません。
ConfigureAwait(false)を次のように追加してみることができますか:InitializeAsync()。ConfigureAwait(false) – wishmaster
@jmichas - コードを投稿できますか? – Giorgi