Asynchronní operace se soubory PST

Pro zvýšení škálovatelnosti a responzivity moderních aplikací poskytuje Aspose.Email pro .NET asynchronní metody pro práci se soubory PST. Tyto nové API umožňují vývojářům vytvářet, otevírat, slučovat a rozdělovat PST soubory bez blokování hlavního vlákna, což je ideální pro UI aplikace a služby s vysokým zatížením.

Vytvořit PST soubory asynchronně

The PersonalStorage.CreateAsync metoda vám umožní asynchronně vytvořit nový PST soubor, což umožní neblokující provádění v aplikacích pracujících s velkými daty nebo vyžadujících responzivní uživatelské rozhraní. Níže uvedený ukázkový kód demonstruje, jak tuto funkci implementovat do C# projektu:

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}");
}

Otevřít PST soubory asynchronně

Pro asynchronní otevření existujícího PST souboru použijte PersonalStorage.FromFileAsync metoda API Aspose.Email. Níže uvedený ukázkový kód demonstruje, jak tuto funkci implementovat do C# projektu:

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}");
}

Sloučit PST soubory asynchronně

The MergeWithAsync metoda třídy Aspose.Email PersonalStorage třída vám umožňuje asynchronně sloučit obsah jednoho PST souboru do druhého. To je užitečné v situacích, jako je konsolidace poštovních archivů, kombinování záloh nebo hromadné zpracování e‑mailových dat – aniž by se blokovalo hlavní vlákno aplikace. Níže uvedený ukázkový kód demonstruje, jak tuto metodu použít ve vašem C# projektu:

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.");
}

Rozdělit PST soubory asynchronně

Níže uvedený ukázkový kód demonstruje, jak asynchronně otevřít existující PST soubor pomocí FromFileAsync, a poté ji rozdělit do více částí pomocí SplitIntoAsync. Každá část bude mít maximálně 50 MB a bude uložena do zadaného výstupního adresáře. Asynchronní provádění zajišťuje, že operace neblokuje hlavní vlákno, což je vhodné pro aplikace zpracovávající velké PST archivy.

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