0

サンプル ソース コード:

https://drive.google.com/file/d/0BzYXG8uD6JT3ai1SN3lfRE5oNWs/view

バックグラウンド:

Azure アプリ サービスをバックエンドとして Azure Data Sync を使用して Xamarin Forms アプリを作成します。Azure で Dot Net ベースのマネージド バックエンドを使用します。

私の問題:

アプリはオフライン モードで正常に動作し、[同期] をクリックしてすべてのオフライン データを Azure に同期できます。

ファイル同期も組み込む必要がある場合は、オフライン モードでアプリ内のファイルを使用し、それらを Azure に同期することもできます。Azure File Sync を使用できます。ここに記載されている手順に従っています:

https://azure.microsoft.com/en-in/documentation/articles/app-service-mobile-xamarin-forms-blob-storage/

添付のサンプル コードでは、AzureHelper.cs の 44、46、74 行目のファイル同期関連コードをコメント化し、41 行目のデータ同期呼び出しのコメントを外すと、期待どおりに動作します。

ここで行番号 41 のコードにコメントを付け、同じファイルの 44、46、74 にある File Sync のコードのコメントを外してコードを実行すると、500 エラーが発生します。さらに、この 500 エラーは、未処理の例外として Visual Studio のボックスに表示されます。エラーの可能性のあるすべての場所で catch ブロックが使用されています。このため、このエラーの原因を特定することは非常に困難になっています。

これが、エラーが File Sync の変更のどこかにあると信じさせた理由です。どのブロックを特定できないのでしょうか?

誰かがこれに光を当てることができますか?

ありがとうST

4

1 に答える 1

0

すべてのストレージ コントローラを作成するか、

public sealed class ReportSwiftEntityDataFileSyncTrigger : IFileSyncTrigger, IDisposable
{
private async void OnStoreOperationCompleted(StoreOperationCompletedEvent storeOperationEvent)
        {
            if (storeOperationEvent.Operation.TableName!="Report")
            {
                return; 
            }
        }
}

class name がストレージ コントローラーを使用する必要がある場所ではない場合は無視するように、示されているように class を使用します。

お役に立てれば。

于 2016-12-28T06:31:25.423 に答える