SPBackupRestoreInformation.GenerateFileMapping 方法

生成唯一名称的备份文件,其中包含指定的源文件。

命名空间:  Microsoft.SharePoint.Administration.Backup
程序集:  Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)

语法

声明
Public Function GenerateFileMapping ( _
    name As String _
) As String
用法
Dim instance As SPBackupRestoreInformation
Dim name As String
Dim returnValue As String

returnValue = instance.GenerateFileMapping(name)
public string GenerateFileMapping(
    string name
)

参数

返回值

类型:System.String
表示名称的备份文件,其中包含已备份副本的nameString

备注

当备份操作中包含具有相同名称的多个文件时,此方法很有用。若要确保每个被分别备份而不是相互覆盖,可以使用此方法生成一个唯一的名称,每个。它通常称为**OnBackup()**的实现中。下面的示例,请参阅。

返回值的格式是hex.bak,其中hex是一个八位的十六进制数字。例如,"00000001.bak"或 0000000A.bak"。

name参数也成为存储的键 / 值对中的键, GenerateFileMapping返回的字符串将成为键的值。这一对存储在Location文件夹中的spbackup.xml文件中。

备注

尽管GenerateFileMapping和ReverseFileMapping对相同的输入的响应返回完全相同的值,它们内部做不同的事情。GenerateFileMapping创建唯一的文件名,并将写入spbackup.xml文件的映射的对的文件的名称。ReverseFileMapping 读取该文件中的映射。

示例

下面的示例演示了**OnBackup()**的实现中使用的GenerateFileMapping方法。有关完整的示例,请参见How to: Create a Content Class That Can Be Backed Up and Restored

public Boolean OnBackup(Object sender, SPBackupInformation args)
{
    if (args == null)
    {
    throw new ArgumentNullException("args");
    }

    Boolean successSignal = true;

    foreach (String path in FrontEndFilePaths)
    {
        FileInfo file = new FileInfo(path);
        try
        {
            String mappedFileName = args.GenerateFileMapping(file.Name);
            file.CopyTo(args.Location + @"\" + mappedFileName, true);
            args.Log(SPBackupRestoreLogSeverity.Verbose, "Backed up " + file.Name + " (in " + mappedFileName + ")");
        }
        catch (Exception e)
        {
            args.Log(SPBackupRestoreLogSeverity.Verbose, file.Name + " not backed up: " + e.Message);
            successSignal = false;
        }
    }

    args.CurrentProgress = 50;
    return successSignal;
}
Public Function OnBackup(ByVal sender As Object, ByVal args As SPBackupInformation) As Boolean
    If args Is Nothing Then
    Throw New ArgumentNullException("args")
    End If

    Dim successSignal As Boolean = True

    For Each path As String In FrontEndFilePaths
        Dim file As New FileInfo(path)
        Try
            Dim mappedFileName As String = args.GenerateFileMapping(file.Name)
            file.CopyTo(args.Location & "\" & mappedFileName, True)
            args.Log(SPBackupRestoreLogSeverity.Verbose, "Backed up " & file.Name & " (in " & mappedFileName & ")")
        Catch e As Exception
            args.Log(SPBackupRestoreLogSeverity.Verbose, file.Name & " not backed up: " & e.Message)
            successSignal = False
        End Try
    Next path

    args.CurrentProgress = 50
    Return successSignal
End Function

另请参阅

引用

SPBackupRestoreInformation 类

SPBackupRestoreInformation 成员

Microsoft.SharePoint.Administration.Backup 命名空间

ReverseFileMapping