Czy ktoś tutaj pracował z programem Sync Framework i synchronizował przez punkty końcowe WCF? Proszę udostępnić próbki kodu lub przykładowe projekty. Szczególnie szukam scenariuszy offline, w których klient przychodzi online tylko w celu pobierania aktualizacji z serwera.Synchronizowanie baz danych SQL Server 2008 za pośrednictwem protokołu HTTP przy użyciu struktury WCF i synchronizacji
23
A
Odpowiedz
28
Zrobiłem następujące dostać Sync Framework działa przy użyciu WCF z SQL Server 2008
- Włączone śledzenie zmian w SQL Server 2008
- Włączone zmiana śledzenie tabel uczestniczących w synchronizacji
- dodał metadanych tabela o nazwie kotwica
- Dodany stół do śledzenia klienta identyfikatory o nazwie „GUID”
- Używane SqlExpressClientSyncProvider dostępny od strony projektu CodePlex MSF jako klienta synchronizacji Prov Ider
Używane SqlSyncAdapterBuilder budować adaptery do stołów uczestniczących w Sync
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); }
Dodane kotwicę poleceń
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;
Wdrożone usługi WCF przy użyciu wystąpienie DbServerSyncProvider funkcjonują jako dostawcy Serwer synchronizacji. Będziesz mieć wygenerowane adaptery synchronizacji i ustawić polecenie zakotwiczenia, jak pokazano w poprzednim kroku dla dostawcy serwera.
[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); }
Utworzono klasę proxy wykonawczych ServerSyncProvider dostęp do usług WCF
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); } }
- utworzono instancję SyncAgent i ustaw RemoteProvider z instancją klasy proxy, który jest używany do dostępu do usług WCF. LocalProvider jest ustawiony z instancji SqlExpressClientSyncProvider
- Dodano stoły i grupy synchronizacji konfiguracji SyncAgent
- SyncAgent.Synchronize()
Powiązane problemy
- 1. Jak działają wywołania zwrotne WCF za pośrednictwem protokołu HTTP?
- 2. Kodowanie kolorami Bazy danych SQL Server 2008
- 3. Wysyłanie pliku za pośrednictwem POST przy użyciu surowego HTTP (Putty)
- 4. Jak scalać i synchronizować pliki baz danych SQL Server?
- 5. Uwierzytelnianie za pośrednictwem protokołu HTTP przy użyciu api interfejsu webowego w asp.net
- 6. bazie spada SQL Server za pośrednictwem C#
- 7. iOS - Podstawowe informacje o synchronizacji baz danych i danych serwera
- 8. Planowanie raportu JasperServer za pośrednictwem SOAP przy użyciu Pythona
- 9. Wysyłanie żądania POST za pośrednictwem protokołu HTTP przy użyciu przeglądarki Safari na komputerze Mac:
- 10. Niezawodnie upuść bazę danych na SQL Server 2008 za pośrednictwem C#
- 11. Czytanie danych z SQL Server przy użyciu Spark SQL
- 12. SQL Server Managment Studio 2008 R2 + Struktura eksportu danych
- 13. Zmiana trybu odzyskiwania programu SQL Server 2008
- 14. TWORZENIE INDEKSU SQL Server 2008
- 15. SQL Server 2008 i .Net 4.0?
- 16. Różnice między SQL Server 2008 i SQL Server 2008 R2 od dewelopera POV
- 17. WIF (przy użyciu Thinktecture Identity Server) i dupleksowymi kanałami WCF
- 18. Utwórz użytkownika dla SQL Server 2008?
- 19. Kreator publikacji bazy danych SQL z SQL Server 2008
- 20. Group i hrabia w SQL Server 2008
- 21. Visual Studio "Projekt serwera SQL Server 2008 a projekt bazy danych Sql Server 2008"?
- 22. Przywróć bazę SQL Server 2008 do SQL Server 2000
- 23. Jak skonfigurować usługi WCF do pracy za pośrednictwem protokołu HTTPS bez powiązania HTTP?
- 24. Reprezentacja systemu plików w DB (przy użyciu hierarchyid w SQL Server 2008)
- 25. C# sprawdzanie skrzynki odbiorczej Hotmail za pośrednictwem protokołu HTTP
- 26. Jak odczytać/zapisać dane geograficzne przy użyciu C#, Entity Framework i SQL Server 2008?
- 27. AJAX między domenami przy użyciu jsonp i usługi sieci Web .NET za pośrednictwem protokołu SSL/HTTPS
- 28. Jak odczytać plik binarny za pośrednictwem protokołu HTTP w węźle?
- 29. Pobierz plik JS za pośrednictwem protokołu HTTPS ze strony HTTP
- 30. FxCop for SQL Server - narzędzie do analizy baz danych SQL Server pod kątem potencjalnych problemów
Thank you sir, że my bardzo pomocne. Niesamowite, jak łatwo jest zsynchronizować zdalnie za pomocą Sync Framework + WCF. Dobry towar! –
Czy jest jakiś sposób, aby uzyskać pełną próbkę kodu tego? – MetalLemon
Tak, przykładowy projekt dla Sync Framework 2.1 byłby świetny! – Manni