MemoryConflictLog Class

Represents a conflict log that exists in memory.

Inheritance Hierarchy

System.Object
  Microsoft.Synchronization.MemoryConflictLog

Namespace:  Microsoft.Synchronization
Assembly:  Microsoft.Synchronization (in Microsoft.Synchronization.dll)

Syntax

'Declaration
Public Class MemoryConflictLog _
    Implements IConflictLogAccess, IConflictLogWriter
'Usage
Dim instance As MemoryConflictLog
public class MemoryConflictLog : IConflictLogAccess, 
    IConflictLogWriter
public ref class MemoryConflictLog : IConflictLogAccess, 
    IConflictLogWriter
type MemoryConflictLog =  
    class
        interface IConflictLogAccess
        interface IConflictLogWriter
    end
public class MemoryConflictLog implements IConflictLogAccess, IConflictLogWriter

The MemoryConflictLog type exposes the following members.

Constructors

  Name Description
Public method MemoryConflictLog(SyncIdFormatGroup) Initializes a new instance of the MemoryConflictLog class by using the specified ID format schema.
Public method MemoryConflictLog(SyncIdFormatGroup, IConflictLogAccess) Initializes a new instance of the MemoryConflictLog class by using the specified ID format schema and conflict log reader.
Public method MemoryConflictLog(SyncIdFormatGroup, IConflictLogWriter) Initializes a new instance of the MemoryConflictLog class by using the specified ID format schema and conflict log writer.
Public method MemoryConflictLog(SyncIdFormatGroup, IConflictLogAccess, IConflictLogWriter) Initializes a new instance of the MemoryConflictLog class by using the specified ID format schema, conflict log reader, and conflict log writer.

Top

Properties

  Name Description
Public property InMemoryConflictLogKnowledge Gets a knowledge object that contains a union of all the conflict knowledge objects that are contained in the conflict log.

Top

Methods

  Name Description
Public method DeleteConflicts Removes the specified conflicts from the log.
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetAllConflicts Gets a list that contains all of the conflicts in the log.
Public method GetConflictsByConflictingItemId Gets a list that contains either all of the conflicts in the log, or only the conflicts that conflict with at least one of the items in the specified list of requested items.
Public method GetHashCode (Inherited from Object.)
Public method GetItemConflicts Gets a list that contains either all of the conflicts in the log, or only the conflicts that are identified by the specified list of requested items.
Public method GetType (Inherited from Object.)
Protected method MemberwiseClone (Inherited from Object.)
Public method Persist Writes the contents of the conflict log to the conflict log writer specified in the constructor.
Public method SaveConflict Saves information about a change that caused a concurrency conflict.
Public method SaveConstraintConflict Saves information about a change that caused a constraint conflict.
Public method ToString (Inherited from Object.)

Top

Remarks

The MemoryConflictLog class implements the IConflictLogAccess interface for a destination provider that either does not implement its own conflict log, or needs the faster performance of the in-memory log during synchronization.

When a provider does not implement a conflict log, it must use this form of the constructor: MemoryConflictLog.

When a provider implements its own conflict log but uses the in-memory conflict log during synchronization, it may give access to its conflict log by specifying an IConflictLogAccess object to MemoryConflictLog. The in-memory conflict log will then chain IConflictLogAccess method calls to the conflict log of the provider so that the change applier can find and delete conflicts in the conflict log of the provider.

When a provider implements its own conflict log, it may also specify an IConflictLogWriter object to MemoryConflictLog, and call Persist after synchronization has completed, to save any new conflicts to the persistent conflict log.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.Synchronization Namespace