Operazioni asincrone con file PST

Per migliorare scalabilità e reattività nelle applicazioni moderne, Aspose.Email per .NET fornisce metodi asincroni per lavorare con i file PST. queste nuove API permettono agli sviluppatori di creare, aprire, unire e dividere file PST senza bloccare il thread principale, rendendole ideali per applicazioni UI e servizi ad alto carico.

Crea file PST in modo asincrono

Il PersonalStorage.CreateAsync Il metodo consente di creare un nuovo file PST in modo asincrono, abilitando un’esecuzione non bloccante nelle applicazioni che lavorano con grandi quantità di dati o richiedono interfacce utente reattive. Il seguente esempio di codice dimostra come implementare questa funzionalità in un progetto C#:

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

Apri file PST in modo asincrono

Per aprire un file PST esistente in modo asincrono, usa il PersonalStorage.FromFileAsync metodo dell’API Aspose.Email. Il seguente esempio di codice dimostra come implementare questa funzionalità in un progetto C#:

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

Unisci file PST in modo asincrono

Il MergeWithAsync metodo di Aspose.Email PersonalStorage La classe consente di unire il contenuto di un file PST in un altro in modo asincrono. Questo è utile in scenari come la consolidazione di archivi di posta, la combinazione di backup o l’elaborazione di dati email in blocco - senza bloccare il thread principale dell’applicazione. Il seguente esempio di codice dimostra come utilizzare questo metodo nel tuo progetto C#:

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

Dividi i file PST in modo asincrono

Il seguente esempio di codice dimostra come aprire in modo asincrono un file PST esistente usando FromFileAsync, e poi suddividerlo in più parti usando SplitIntoAsync. Ogni parte non supererà i 50 MB e sarà salvata nella directory di output specificata. L’esecuzione asincrona garantisce che l’operazione non blocchi il thread principale, rendendola adatta alle applicazioni che elaborano grandi archivi PST.

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