The Sync Framework is a full-featured synchronization platform that enables collaboration and offline access to applications, services, and devices. The Sync Framework provides some technologies and tools to support roaming, sharing, and fetching data while offline. By using the sync Framework, developers can build synchronous ecosystems that integrate arbitrary applications with data from any storage area by using arbitrary protocols on any network.
This document covers all Sync Framework components, including the following components:
Core components
The database synchronization provider (called the Sync Services for ADO in a previous release). NET)
File synchronization provider (referred to as the Sync Services for file Systems in a previous release)
Web Feed Synchronization component (known as the Sync Services for FeedSync in a previous release)
The Sync Framework documentation provides an introduction and a set of Help topics and reference topics to help you quickly understand the sync framework and use it in real-world work. The Help topic contains sample code, and other examples are available from the Sync Framework SDK and the Code Gallery (codebase).
in the core component:
1. Simple provider: Reduces the amount of work required to develop the provider, especially when the data source has very few synchronization-related features, such as change tracking. The goal is to enable developers to write a provider without becoming a synchronization expert. Most of the code required by a simple provider is limited to the code responsible for interacting with the data source. A simple provider supports many complex synchronization scenarios, such as filtering, concurrency, and constraint conflict handling, and an enumeration based on anchor points.
2. Flexible filtering: Change unit filters and custom filters have been added to the custom provider component. These filters, along with item filters from the Sync Framework 1.0, allow you to filter data in the most useful ways. Filter negotiation enables the source provider and the destination provider to negotiate the filters that are used in the synchronization session. The Change Unit filter enables the provider to specify that the replica stores all items in the synchronization scope that are supported by the replica, storing a simplified representation of each item. For example, when an item is a contact, the device can store only the name and phone number of the contact, and the full contact information is stored on the PC. Custom filters enable you to define filters in the most appropriate way, including filters that allow items to move in or out of a filter when item data changes. For example, a media storage device stores only songs that are rated as Samsung or higher. If the evaluation of a song is changed from four stars to two stars, the song is moved out of the filter. Through a filter negotiation, the destination provider can specify the filter to be used by the source provider during the change enumeration, and the source provider can accept or reject the filter. If the source provider does not support the requested filter, the destination provider can choose to receive all of the data and perform its own filtering operations.
3. Improved conflict handling: support for more conflict resolution, such as reporting constraint conflicts, managing record conflicts, and resolving conflicts through the use of post-writer wins policy. A constraint violation is a conflict that violates a constraint on an item or change unit, such as a folder's relationship or the location of data in the file system with the same name. The Sync Framework includes components that help resolve constraint conflicts and apply the workaround to the destination replica. The conflict logging feature is enhanced by the Sync Framework components that help manage logs, such as deleting obsolete conflicts. The post-writer wins conflict resolution policy can be used to resolve concurrent conflicts (in which items are updated by multiple replicas) by saving recent changes, regardless of where the change was made. The Sync Framework supports this strategy by enabling the application to retrieve time for changes to the source and destination replicas. The application can then compare these two times and apply the last change.
4. Data conversion between providers: In some scenarios, the synchronization provider synchronizes data of the same type, such as sales data, but the data format required for each provider is different. To resolve this issue, the Sync Framework allows you to implement an interface for converting data to the format required by each provider. In addition to the Data transformation APIs that can be used for any type of custom provider, the Sync Framework includes a transformation API specifically for file synchronization providers.
5, change application services: increased the Sync Framework to change the application of the user component flexibility and use. By performing the same operations as the standard change application, but using a more specific approach, the Change application service enables the target provider to use only the functionality it needs.
6. Tracking: Allows you to track the execution of several components, which is useful during application debugging. This download provides. tmf files that can be used to view traces, refresh loggers, and format binary trace files. For more information about how to track the execution of the sync framework, see "Tracking Sync Framework Components" in the documentation that is installed with the Sync Framework SDK.
in the database provider:
New database providers (SQL Server and SQL Server Compact): Make hub and Peer synchronization available for SQL Server, SQL Server Express, and SQL Server Compact. The Sync Framework automatically creates all the commands required to communicate with each database. You do not have to write synchronous queries as you would with other providers. These provider support: Flexible initialization options, batch processing based on data size changes, and maintenance tasks such as metadata cleanup and server database restore.
Reliable, memory-based batching: the previous sync Framework and sync Services for ado.net versions provide a way for developers to define their own batch logic, but there are a number of limitations to this approach, including a significant increase in complexity, excessive interference, Insufficient memory issues and usage restrictions. The Sync Framework 2.0 addresses all of these issues by providing a more complete and reliable batch API. Developers no longer have to write batch logic on their own, because the Sync Framework divides the changes into batches based on several attributes in the API. It is now time to define batches by memory footprint, rather than by the number of rows synchronized, which eliminates the problem of out-of-memory in most common scenarios.
Settings and Management APIs: settings and initialization activities that were previously exposed only through the Visual Studio tool are now added to the database provider APIs. This includes setting the functionality of an existing database by adding change tracking tables and triggers that are required by the Sync Framework. It also includes the ability to start with an empty database, create a user schema, and set the schema based on another server or client database that you have set up.
Performance improvement: The new database provider in this release has been thoroughly tested in a large scale expansion scenario in which a single server supports thousands of clients and hundreds of concurrent synchronizations. This test greatly improves internal performance, making the Sync Framework database provider comparable to the execution of other Microsoft technologies, such as remote Data Access (RDA), while providing a large number of features that are equivalent to end-to-end solutions, such as merge replication. Microsoft Sync Framework 2.0 Software Development Kit (SDK) Download: http://www.microsoft.com/downloads/details.aspx? displaylang=zh-cn&familyid=89adbb1e-53ff-41b5-ba17-8e43a2e66254