Asynkrona operationer med PST-filer

För att förbättra skalbarhet och respons i moderna applikationer erbjuder Aspose.Email för .NET asynkrona metoder för att arbeta med PST-filer. Dessa nya API:er låter utvecklare skapa, öppna, slå samman och dela PST-filer utan att blockera huvudtråden, vilket gör dem idealiska för UI-applikationer och tjänster med hög belastning.

Skapa PST-filer asynkront

Den PersonalStorage.CreateAsync metod gör det möjligt att skapa en ny PST-fil asynkront, vilket möjliggör icke-blockerande körning i applikationer som arbetar med stora data eller kräver responsiva UI. Följande kodexempel visar hur du implementerar denna funktion i ett C#-projekt:

string pstFilePath = "newMailbox.pst";
var format = FileFormatVersion.Unicode;

// Create a new PST file asynchronously
using (var pst = await PersonalStorage.CreateAsync(pstFilePath, format, CancellationToken.None))
{
     Console.WriteLine($"PST file created at: {pstFilePath}");
}

Öppna PST-filer asynkront

För att öppna en befintlig PST-fil asynkront, använd PersonalStorage.FromFileAsync metod i Aspose.Email API. Följande kodexempel visar hur du implementerar denna funktion i ett C#-projekt:

string pstFilePath = "newMailbox.pst";
var format = FileFormatVersion.Unicode;

// Open the PST file asynchronously
        using (var pst = await PersonalStorage.FromFileAsync(pstFilePath, CancellationToken.None))
        {
            Console.WriteLine("PST file opened successfully.");

            // Access folders or messages here
            Console.WriteLine($"Root folder name: {pst.RootFolder.DisplayName}");
}

Slå samman PST-filer asynkront

Den MergeWithAsync metod i Aspose.Email PersonalStorage klassen gör det möjligt att slå samman innehållet i en PST-fil med en annan asynkront. Detta är användbart i scenarier som att konsolidera e-postarkiv, kombinera säkerhetskopior eller bearbeta e-postdata i bulk - utan att blockera applikationens huvudtråd. Kodexemplet nedan visar hur du använder denna metod i ditt C#-projekt:

string targetPstPath = "mainMailbox.pst";
string sourcePstPath = "archiveToMerge.pst";

// Open both PST files asynchronously
using (var targetPst = await PersonalStorage.FromFileAsync(targetPstPath, CancellationToken.None))
using (var sourcePst = await PersonalStorage.FromFileAsync(sourcePstPath, CancellationToken.None))
{
    // Merge the source PST into the target PST
    await targetPst.MergeWithAsync(sourcePst, CancellationToken.None);

    Console.WriteLine("Merge operation completed successfully.");
}

Dela PST-filer asynkront

Kodexemplet nedan visar hur man asynkront öppnar en befintlig PST-fil med hjälp av FromFileAsync, och dela sedan upp den i flera delar med hjälp av SplitIntoAsync. Varje del kommer inte att vara större än 50 MB och sparas i den angivna utdatamappen. Asynkron körning säkerställer att operationen inte blockerar huvudtråden, vilket gör den lämplig för applikationer som bearbetar stora PST-arkiv.

using (var pst = await PersonalStorage.FromFileAsync("input.pst"))
{
    await pst.SplitIntoAsync(50 * 1024 * 1024, "part_", "outputDirectory", CancellationToken.None);
}