FileSyncProvider.ApplyingChange 事件

在将要尝试文件变更时发生。

命名空间: Microsoft.Synchronization.Files
程序集: Microsoft.Synchronization.Files(在 microsoft.synchronization.files.dll 中)

语法

声明
Public Event ApplyingChange As EventHandler(Of ApplyingChangeEventArgs)
用法
Dim instance As FileSyncProvider
Dim handler As EventHandler(Of ApplyingChangeEventArgs)

AddHandler instance.ApplyingChange, handler
public event EventHandler<ApplyingChangeEventArgs> ApplyingChange
public:
event EventHandler<ApplyingChangeEventArgs^>^ ApplyingChange {
    void add (EventHandler<ApplyingChangeEventArgs^>^ value);
    void remove (EventHandler<ApplyingChangeEventArgs^>^ value);
}
/** @event */
public void add_ApplyingChange (EventHandler<ApplyingChangeEventArgs> value)

/** @event */
public void remove_ApplyingChange (EventHandler<ApplyingChangeEventArgs> value)
JScript supports the use of events, but not the declaration of new ones.

备注

此事件可提供一种机制,使应用程序可在同步会话期间动态跳过变更。若要跳过某个变更,请将 SkipChange 属性设置为 true。跳过的变更将不应用于目标副本。当跳过的每个变更的 SkippedChangeEventArgs.SkipReason 设置为 ApplicationRequest 时,将激发 SkippedChange 事件。

在会话过程中,多次尝试进行某些变更。每次尝试变更时,都会激发此事件。例如,尝试删除文件夹。由于文件夹中存在一个现有文件,所以尝试失败。在整个会话期间,将不断尝试执行此文件夹删除操作,直到删除操作成功或者确定在此会话期间不会执行删除操作并跳过为止。

此事件仅会在变更影响目标副本的文件数据时引发,而不会在变更仅影响文件的元数据时引发。例如,如果检测到更新-更新冲突且目标系统中的文件被选为入选方,则不会对目标应用任何变更,并且不激发此事件。同样,将逻辑删除从源传播到目标会导致仅更新元数据,而不会对目标文件系统执行任何变更。在本例中,将不激发此事件。

ApplyingChangeEventArgs 类可提供变更类型、当前文件数据、应用变更后的文件数据和 SkipChange 属性。此属性可用于动态跳过此变更。

请参阅

参考

FileSyncProvider 类
FileSyncProvider 成员
Microsoft.Synchronization.Files 命名空间