Hat jemand hier mit Sync Framework gearbeitet und über WCF-Endpunkte synchronisiert? Bitte teilen Sie Codebeispiele oder Beispielprojekte. Ich suche speziell nach Offline-Szenarios, in denen der Client nur online kommt, um Updates vom Server abzurufen.Synchronisieren von SQL Server 2008-Datenbanken über HTTP mit WCF und Sync Framework
23
A
Antwort
28
Ich habe die folgende Sync Framework arbeitet mit WCF mit SQL Server 2008
- Aktiviert Änderungsverfolgung in SQL Server erhalten 2008
- Aktiviert Änderung für Tabellen-Tracking in der Sync
- Added eine Metadaten-Teilnahme Tabelle mit dem Namen Anker
- Eine Tabelle zum Verfolgen von Client-IDs mit dem Namen "guid" hinzugefügt
- Verwendet SqlExpressClientSyncProvider von MSF Codeplex-Projekt-Website als Client Sync Prov ider
Gebrauchte SqlSyncAdapterBuilder zu bauen Adapter für Tabellen in der Sync teilnehmenden
foreach (var item in anchorTables) { // Use adapter builder to generate T-SQL for querying change tracking data and CRUD SqlSyncAdapterBuilder builder = new SqlSyncAdapterBuilder(); builder.Connection = new SqlConnection(this.connectionStringFactory.ConnectionString); builder.ChangeTrackingType = ChangeTrackingType.SqlServerChangeTracking; builder.SyncDirection = SyncDirection.Bidirectional; builder.TableName = item.TableName; // Get sync adapters from builder SyncAdapter clientAdapter = builder.ToSyncAdapter(); clientAdapter.TableName = item.TableName; this.clientSyncProvider.SyncAdapters.Add(clientAdapter); }
Added Anker Befehle
SqlCommand anchroCommand = new SqlCommand { CommandText = "SELECT @" + SyncSession.SyncNewReceivedAnchor + " = change_tracking_current_version()" }; anchroCommand.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.BigInt) .Direction = ParameterDirection.Output; this.clientSyncProvider.SelectNewAnchorCommand = anchroCommand;
einen WCF-Dienst implementiert eine Instanz von DbServerSyncProvider Funktion als Server-Sync-Provider. Sie müssen Sync-Adapter generieren und den Anker-Befehl wie im vorherigen Schritt gezeigt auch für den Server-Provider setzen.
[ServiceContract] public interface ISyncService { [OperationContract] SyncContext ApplyChanges(SyncGroupMetadata groupMetadata, DataSet dataSet, SyncSession syncSession); [OperationContract] SyncContext GetChanges(SyncGroupMetadata groupMetadata, SyncSession syncSession); [OperationContract] SyncSchema GetSchema(Collection<string> tableNames, SyncSession syncSession); [OperationContract] SyncServerInfo GetServerInfo(SyncSession syncSession); }
eine Proxy-Klasse Erstellt ServerSyncProvider Implementierung WCF-Dienst
public class DbServerSyncProviderProxy : ServerSyncProvider { SyncServiceProxy.SyncServiceClient serviceProxy = new SyncServiceProxy.SyncServiceClient(); public override SyncContext ApplyChanges(SyncGroupMetadata groupMetadata, DataSet dataSet, SyncSession syncSession) { return serviceProxy.ApplyChanges(groupMetadata, dataSet, syncSession); } }
- eine Instanz von SyncAgent Erstellt zugreifen und setzte RemoteProvider mit einer Instanz von Proxy-Klasse, die verwendet wird WCF-Dienst zuzugreifen. LocalProvider mit Instanz SqlExpressClientSyncProvider gesetzt
- hinzugefügt Tabellen und Sync-Gruppen zu SyncAgent Konfiguration
- SyncAgent.Synchronize()
Verwandte Themen
- 1. Synchronisieren von SQLite mit SQL Server mithilfe von Sync Framework
- 2. Datensynchronisierung von lokalen SDF und SQL Server über Sync Framework
- 3. Sync zwischen Sql Server und Mysql Server
- 4. WCF Problem mit Microsoft Sync Framework
- 5. Microsoft Sync Framework - Leistung und Skalierbarkeit
- 6. implementieren Microsoft Sync Framework mit Android-Gerät
- 7. Synchronisieren von PouchDB und Couchbase Sync Gateway - CORS Fehler
- 8. Sync Framework DbProvisioningException
- 9. Synchronisieren von Dateien über mehrere Server hinweg
- 10. WCF-Dienst mit Basic-Auth über HTTP
- 11. Zend Framework und SQL Server
- 12. WCF mit HTTP und TLS
- 13. Wie Synchronisieren Android Database mit einem Online-SQL Server?
- 14. Sync Framework Überlegungen für Smart Client-App
- 15. Microsoft Sync Framework kollidiert mit Nhibernate TooManyRowsAffectedexception
- 16. synchronisieren Sie zwei SQL-Server 2005
- 17. Datum Filterung mit dem MS Sync Framework
- 18. Synchronisieren von SQL Mobile-Daten mit dem MySQL-Server
- 19. Aufruf eines Web-Service mit WCF über Http und Https
- 20. WCF mit basicHttpBinding, Verschlüsselung, Signierung und usernameToken über HTTP
- 21. SQL Server 2 Tabelle Sync Rekursion
- 22. Update Schemaänderungen mit Microsoft Sync Framework 2.1
- 23. Was ist der Status von Microsoft Sync Framework 2.1
- 24. Sync Atom.io Einstellungen über OS
- 25. Microsoft Sync Framework - Wie funktioniert die bidirektionale Synchronisierung?
- 26. Microsoft Sync Framework
- 27. Microsoft Sync Framework Alternativen
- 28. Couchbase Sync Gateway - Server und Client API vs Bucket Shadowing
- 29. Synchronisieren SVN über FTP
- 30. Sync Framework-Ressourcen
Sie sir danken, dass wir ziemlich hilfreich. Erstaunlich, wie einfach es ist, mit Sync Framework + WCF remote zu synchronisieren. Gutes Zeug! –
Gibt es eine Möglichkeit, ein vollständiges Codebeispiel davon zu erhalten? – MetalLemon
Ja, ein Beispielprojekt für Sync Framework 2.1 wäre großartig! – Manni