Opérations asynchrones avec les fichiers PST

Pour améliorer l’évolutivité et la réactivité des applications modernes, Aspose.Email pour .NET propose des méthodes asynchrones pour travailler avec les fichiers PST. Ces nouvelles API permettent aux développeurs de créer, ouvrir, fusionner et diviser des fichiers PST sans bloquer le thread principal, les rendant idéales pour les applications UI et les services à forte charge.

Créer des fichiers PST de manière asynchrone

Le PersonalStorage.CreateAsync la méthode vous permet de créer un nouveau fichier PST de manière asynchrone, permettant une exécution non bloquante dans les applications qui manipulent de grandes quantités de données ou qui nécessitent des interfaces réactives. L’exemple de code suivant montre comment implémenter cette fonctionnalité dans un projet 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}");
}

Ouvrir les fichiers PST de manière asynchrone

Pour ouvrir un fichier PST existant de façon asynchrone, utilisez le PersonalStorage.FromFileAsync méthode de l’API Aspose.Email. L’exemple de code suivant montre comment implémenter cette fonctionnalité dans un projet 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}");
}

Fusionner les fichiers PST de manière asynchrone

Le MergeWithAsync méthode de Aspose.Email PersonalStorage La classe permet de fusionner le contenu d’un fichier PST dans un autre de manière asynchrone. Cela est utile dans des scénarios tels que la consolidation d’archives de courrier, la combinaison de sauvegardes ou le traitement de données e‑mail en masse - sans bloquer le thread principal de votre application. L’exemple de code ci-dessous montre comment utiliser cette méthode dans votre projet 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.");
}

Diviser les fichiers PST de manière asynchrone

L’exemple de code ci-dessous montre comment ouvrir de manière asynchrone un fichier PST existant en utilisant FromFileAsync, puis le diviser en plusieurs parties en utilisant SplitIntoAsync. Chaque partie ne dépassera pas 50 Mo et sera enregistrée dans le répertoire de sortie spécifié. L’exécution asynchrone garantit que l’opération ne bloque pas le thread principal, ce qui la rend adaptée aux applications qui traitent de grandes archives PST.

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