ApplyChangeFailedEventArgs Class
Provides data for the client ApplyChangeFailed event and the server ApplyChangeFailed event.
Assembly: Microsoft.Synchronization.Data (in Microsoft.Synchronization.Data.dll)
The ApplyChangeFailedEventArgs type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | ApplyChangeFailedEventArgs | Initializes a new instance of the ApplyChangeFailedEventArgs class by using table metadata, conflict, error, session, context, connection, and transaction parameters. |
| Name | Description | |
|---|---|---|
![]() | Action | Gets or sets an ApplyAction enumeration value that specifies the action to handle the conflict. |
![]() | Conflict | Gets a SyncConflict object that contains data and metadata for the row being applied and for the existing row in the data store that caused the failure. |
![]() | Connection | Gets an IDbConnection object for the connection over which changes were attempted during synchronization. |
![]() | Context | Gets a SyncContext object that contains data changes, and anchor values and other metadata for a synchronization session. |
![]() | Error | Gets an Exception object that contains metadata about any exceptions that occurred during synchronization. |
![]() | Session | Gets a SyncSession object that contains synchronization session variables, such as the ID of the client that is synchronizing. |
![]() | TableMetadata | Gets a SyncTableMetaData object that contains metadata about the table, such as anchor values and the direction of synchronization. |
![]() | Transaction | Gets or sets an IDbTransaction object that contains the transaction within which changes to tables were attempted. |
If a row cannot be applied during synchronization, the ApplyChangeFailed event is raised. The ApplyChangeFailedEventArgs object provides information about the error or conflict that caused the failure. In a handler for the event, you can respond to the event in several ways, including specifying whether the synchronization provider should try to apply the row again. For more information, see How to: Work with Events and Program Business Logic and How to: Handle Data Conflicts and Errors.
The following code examples specify an event handler for the ApplyChangeFailed event. The method called logs information to separate files for the client and server synchronization providers. To view this code in the context of a complete example, see How to: Use Session Variables.
this.ApplyChangeFailed += new EventHandler<ApplyChangeFailedEventArgs>(EventLogger.LogEvents);
else if (e is ApplyChangeFailedEventArgs) { ApplyChangeFailedEventArgs args = (ApplyChangeFailedEventArgs)e; outputText.AppendLine("** APPLY CHANGE FAILURE AT " + site.ToUpper() + " **"); outputText.AppendLine("Table for which failure occurred: " + args.TableMetadata.TableName); outputText.AppendLine("Error message: " + args.Error.Message); }
AddHandler Me.ApplyChangeFailed, AddressOf EventLogger.LogEvents
ElseIf TypeOf e Is ApplyChangeFailedEventArgs Then Dim args As ApplyChangeFailedEventArgs = CType(e, ApplyChangeFailedEventArgs) outputText.AppendLine("** APPLY CHANGE FAILURE AT " & site.ToUpper() & " **") outputText.AppendLine("Table for which failure occurred: " & args.TableMetadata.TableName) outputText.AppendLine("Error message: " & args.Error.Message)
