問題タブ [microsoft-sync-framework]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
synchronization - 複数のクライアントおよびサーバーデータベースを備えたMicrosoftSyncFramework
データベースサーバーに直接接続するのではなく、ローカルデータストアを持つようにアプリケーションを変更しています。クライアントアプリは、サーバーデータベースとそのローカルデータストアの間で変更を双方向で同期します。MicrosoftSyncFrameworkを使用して同期ソリューションを実装しようとしています。明確にするために、サーバーアプリケーションはなく、データベースサーバーのみがありますが、複数のクライアントがあります。
FullEnumerationSimpleSyncProviderを実装する2つのクラスの実装を開始しました。1つはLocalSyncProviderと呼ばれ、もう1つはServerSyncProviderと呼ばれます。LocalSyncProviderは、ローカルデータストアからアイテムを列挙、挿入、更新、削除する方法を知っており、ServerSyncProviderは、データベースサーバーからアイテムを列挙、挿入、更新、削除する方法を知っています。それぞれが提供されたSqlMetadataStoreを使用し、2つのメタデータストア(1つはローカル用、もう1つはサーバー用)をクライアントのローカルドライブに保存します。これは、各クライアントがローカルデータストア用に独自のメタデータストアを持ち、サーバーデータベース用に独自のメタデータストアを持つことを意味します。
これは実際に機能しますか、サーバーメタデータストアが1つだけ存在する必要がありますか、それとも同期フレームワークを別の方法で使用する必要がありますか?
c# - MicrosoftSyncFrameworkがNhibernateTooManyRowsAffectedexceptionと衝突する
NHibernateを使用してドメインを永続化するアプリケーションにMicrosoftSyncFrameworkを実装しようとしています。
私たちが遭遇した問題の1つは、同期フレームワークが初期データベース構造を変更した後(シャドウテーブルとトリガーを追加した後)、データベースにオブジェクトを挿入しようとしたときにtoomanyrowsaffectedexceptionをスローすることでNHibernateが動揺しているように見えることです。
各更新ステートメントの周りにSETNOCOUNTONとOFFを追加するソリューションがあるこの記事を見つけましたが、テーブル構造はnhibernateによって自動的に生成され、同期トリガーは同期フレームワークによって自動的に生成されるため、すべてのトリガーを手動で調整することは実際にはオプションではありません。
http://www.codewrecks.com/blog/index.php/2009/03/25/nhibernate-and-toomanyrowsaffectedexception/
この質問で説明されているように、SQL Server 2008のプロパティNOCOUNTをオンに設定してみました:NOCOUNTを設定するのに最適な場所はどこですか? ただし、これによりStaleStateExceptionが発生しました(-1行が影響を受け、1行が予想されます)。
トリガーにこれらのNOCOUNTステートメントを自動的に設定するように同期フレームワークを構成する方法があるかどうか知っていますか?または、NHibernateに変更された行の数を増やす/減らすように指示する方法はありますか?あるいは、これらのNOCOUNTステートメントを同期フレームワークのトリガーに追加する自動化されたスクリプトを持っている人もいるかもしれません。
事前にThx!
wcf - WebSharingAppDemo-CEProviderEndToEnd ファイルがサーバーにバッチ処理される前に、NeedsScope の peerProvider にクエリを実行します。これは故障しているようですか?
WebSharingAppDemo-CEProviderEndToEnd に基づいてアプリケーションを構築しています。サーバー部分をサーバーにデプロイすると、コードで「パスが無効です。データベースのディレクトリを確認してください。」というエラーが表示されます。CeWebSyncService.cs ファイルの NeedsScope() の呼び出し中。
明らかに、サーバーはクライアントの sdf にアクセスできませんが、これを機能させるにはどうすればよいでしょうか? アプリはバッチ処理を使用してデータを送信し、バッチを一時ディレクトリにマーシャリングする必要がありますが、この問題はファイルがバッチ処理される前に発生しています。サーバーが peerProivider にスコープが必要かどうかを判断するために調べるものは何もありません。私は何が欠けていますか?
sql-server - 同期フレームワーク: ストアド プロシージャを同期できますか
同期フレームワークを使用すると、SQL Server 2008 サーバー上のストア プロシージャを SQL Server 2008 クライアント上のストアド プロシージャと同期 (ダウンロードのみ) できますか?
つまり、サーバー SP が変更された場合や新しい SP が作成された場合に、クライアントの SP を上書きしますか?
.net - Microsoft Sync Framework を使用して SQL Server 2008 と .NET Web サービスを同期するにはどうすればよいですか?
MS Sync フレームワークを .NET Web サービスで使用する方法の例はありますか? SQL Server 2008 を使用しています。これは、通常の Web メソッドを使用して Web サービスを介して BlackBerry デバイスにデータを公開しています。Sync Framework を使用して、Web サービスを介してデータを公開し、それをデータベースに保存できますか?
c# - 同期フレームワークを使用した異なる ID を持つプロバイダー間の同期
Sync Framework を使用して、Active Directory と Web サービスを提供するアプリケーションの間でユーザー データを同期しようとしています。Active Directory 用と Web サービス用の 2 つの FullEnumerationSimpleSyncProvider クラスを作成し、両方で共有できる共通のデータ型とメタデータ列を作成しました。現在、どちらも独自の ReplicaId および Metadata ストアを維持できます。
私が直面している問題は、あるプロバイダーの結果を別のプロバイダーに一致させる方法がわからないことです。これは、プロバイダーの個別のデータ ストアに一致する Id 情報がなく、使用できるほとんどすべてのフィールドがあるレコードを別のレコードと一致させることは、同期が必要になる可能性があり、ID (ユーザー名、電子メールなど) を提供するために 100% 信頼することはできません。
同期フレームワークに、あるプロバイダーから別のプロバイダーに行を一致させる方法をフレームワークに伝えるために、ある種のあいまい一致を行うために使用できるメカニズムがありますか? 足りないものはありますか?
ありがとう、マーク
c# - .NET CF を使用してクレードルを使用しているときに、Windows Mobile からデスクトップの IP アドレスを取得するにはどうすればよいですか?
.NET CF 3.5 を使用して Windows Mobile 6 アプリケーションを開発しています。モバイル デバイスから同期プロセスを開始するために、デバイスがクレードルされているときにデスクトップ コンピューターの IP アドレスを取得する必要があります。
Dns.GetHostEntry を試しましたが、これは Pocket PC エミュレータの IP アドレスを返すようです。
何か案は?
microsoft-sync-framework - 同期サービスが実際に同期していない
MS Sync Services を使用して、SQL Server CE 3.5 データベースを SQL Server 2008 データベースと同期しようとしています。VS 2008 を使用しています。ローカル データベース キャッシュを作成し、それを SQL Server 2008 に接続して、同期するテーブルを選択しました。SQL Server Tracking を選択しました。変更追跡用にデータベースを変更し、データのローカル コピー (SDF) を作成しました。
双方向の同期が必要なので、同期エージェントの部分クラスを作成し、コードを OnInitialized() に追加して、テーブルの SyncDirection を Bidirectional に設定しました。デバッガーを使用して説明したところ、このコードが実行されました。
次に、キャッシュ サーバー同期プロバイダー用の別の部分クラスを作成し、イベント ハンドラーを OnInitialized() に追加して、ApplyChangeFailed イベントにフックしました。このコードも正常に動作します - 私のコードは競合があるときに実行されます。
最後に、同期をテストするためにサーバー データに手動で変更を加えました。このコードを使用して同期を開始します。
syncStats は、サーバー上で行った変更の数を示しているようで、それらが適用されたことを示しています。ただし、ローカルの SDF ファイルを開くと、変更はありません。
私は基本的にここで見つけた指示に従いました:
http://msdn.microsoft.com/en-us/library/cc761546%28SQL.105%29.aspx
そしてここ:
この時点では「問題なく動作する」ように見えますが、サーバー上で行われた変更はローカルの SDF ファイルには含まれていません。何かが欠けていると思いますが、今は見えません。
Sync Services のバージョン 1 を使用しているように見えたので、Microsoft.Synchronization.* アセンブリへの参照を削除し、Sync フレームワーク 2.0 をインストールして、新しいバージョンのアセンブリをプロジェクトに追加したことが原因ではないかと考えました。それは何の違いもありません。
アイデア?
編集:これを追跡できるかどうかを確認するためにトレースを有効にしたかったのですが、それを行う唯一の方法は、app.config ファイルにエントリが必要なため、WinForms アプリを使用することです (私の元のプロジェクトはクラス ライブラリでした)。WinForms プロジェクトを作成し、すべてを再作成したところ、突然すべてが機能するようになりました。明らかに、これには何らかの理由で WinForm プロジェクトが必要ですか?
これは実際には私がこれを使用するつもりだった方法ではありません - 別の非 .NET アプリケーションを介して同期を開始し、そこに UI を提供することを望んでいたので、エクスペリエンスはエンド ユーザーにとってもう少し目立たなくなりました。それができなくても構いませんが、これをクラス ライブラリ プロジェクトとして機能させるかどうか、またはその方法を知りたいです。
sql-server-2008 - SQLServer2008の変更の追跡を使用する場合と使用しない場合の同期
変更の追跡が有効になっているSQLServer2008を、このメカニズムがない2005のサーバーと同期することに固執しました。
私に正しい道を教えていただけませんか、どうすればこれを処理できますか。ありがとうございました、
microsoft-sync-framework - Microsoft Sync Frameworkのパフォーマンステストを設定するにはどうすればよいですか?
WinFormクライアントアプリケーション(SQL CEローカルキャッシュデータベースを使用)とSQL SErver 2008データベースサーバーの間でデータを同期するために、MicrosoftSyncFrameworkを使用してクライアントサーバーアプリケーションを開発しました。これでアプリケーションはほぼ完成し、すべての機能が正常に機能しているように見えます。そこで、Visual Studio 2008 Testエディションを使用して、パフォーマンステスト(サーバー上で、サーバーデータベースとの10ユーザーの同時同期を20分間シミュレートするなど)、帯域幅の負荷テスト(生成されるネットワークトラフィックの量)、およびすぐ。基本的に、実際の状況をシミュレートし、システム(Sync Frameworkを使用)を確認して処理します。
ただし、同期の性質上、VS Testエディションを使用して負荷テストを作成し、サーバーを強打し続けることはできません。各クライアントを実際に適切にシミュレートするには、各クライアントが独自のSQLCEローカルキャッシュデータベースを持っている必要があるためです。10個の異なるフォルダーに10個のクライアントをセットアップしてから、VS Testエディションを使用してそれらを開始する必要があるということですか?または、テストを設定するためのより良い方法はありますか?
また、Sync Frameworkの負荷テストとパフォーマンステストの設定について経験がある人はいますか?ありがとう!