0

Ipad側でSqlサーバーデータベーステーブルをSqlLiteデータベースと同期するためにMicrosoft Synch Service Framework 4.0を使用しています。

C# コードをカスタマイズしたい。クライアントは、同期サービスで SessionId などのいくつかのパラメーターを送信します。パラメータに応じて、コードは同期を続行するかどうかを決定します。さて、以下のコードは同期サービスを初期化するためのものです。パラメータを処理するためのカスタム コードはどこに置くことができますか。基本的、

If ( Session Id already exists) // 同期を続行

else { 同期を続行しない }

これは、Interceptors: Request、Response OR Conflict Interceptors を使用して可能であると考えています。同期する前にビジネスロジックを記述できるように、誰かが例を提供できますか

4

2 に答える 2

0

さて、サーバーから変更をダウンロードするときにインターセプターを使用しているときに、いくつかの問題に直面しました。クライアントがヘッダーを介して「Server_Code」を送信しています。

if (serverCode == "DEV") 
{ 
     foreach (IOfflineEntity entity in context.IncomingChanges) 
     { 
        context.RejectChange(entity, "Invalid Server"); 
     } 
} 

クライアントがサーバーから変更をダウンロードしているときに、IncomingChanges 値 = 0 を取得します。したがって、変更を拒否できません。

同期にフィルターを使用するのはどうですか。つまり、クライアントから送信されたパラメータに基づいて同期が行われます。クライアントが SessionId を送信すると、その特定の SessionId に対してのみ同期が行われます。

何か案は?

于 2012-11-21T05:45:40.927 に答える
0

リクエストインターセプターを書くべきだと思います。

これは、その書き方に関する簡単な/基本的なイントロです。

于 2012-11-06T01:56:32.930 に答える