2017-05-28 3 views
0

私はXamarin.iOSアプリケーションからオフライン同期をいくつかしようとしています。 IMobileServiceSyncTableでPullAsyncを呼び出すと、呼び出しは返されません。Azureモバイルサービスオフライン同期

通常のIMobileServiceTableを試してみましたが、正常に動作しているようです。作品

var client = new MobileServiceClient(ApiUrl); 

var store = new MobileServiceSQLiteStore("syncstore.db"); 
store.DefineTable<Entity>(); 

await client.SyncContext.InitializeAsync(store); 
table = client.GetSyncTable<Entity>(); 
try 
{ 
    await table.PullAsync("all", table.CreateQuery()); 
} 
catch (Exception e) 
{ 
    Debug.WriteLine(e.StackTrace); 
} 

return await table.ToListAsync(); 

はコード:

var client = new MobileServiceClient(configuration.BaseApiUrl); 
return await table.ToListAsync(); 

誰もが何かを指摘することができます同期の表は、私のために動作しません

コードは動作しません。ここでの事のようですそれは間違っているようですか?私はどんな方向にも私を指摘する何も例外も何も得ていない - それは決して完了しない。

UPDATE 1: コールスタックのどこかで待っていたのではなく、Task.ResultまたはTask.Wait()を実行したため、人々が同様の問題を抱えていたことが分かりました。しかし、私は私の全体のチェーンを通してこの呼び出しを待っています。例:私が書いたユニットテストは、上記と全く同じ動作をしています。ハングアップし、決して戻る。

[Fact] 
public async Task GetAllAsync_ReturnsData() 
{ 
    var result = await sut.GetAllAsync(); 
    Assert.NotNull(result); 
} 

UPDATE 2: 私はユニットテストによって送信要求に盗聴されてきました。何度も何度も何度もhttp-requestをやり続けていて、その操作を止めることはないので、ハングしているようです。

答えて

関連する問題