Asynchrone bewerkingen met PST‑bestanden
Om de schaalbaarheid en responsiviteit in moderne applicaties te verbeteren, biedt Aspose.Email voor .NET asynchrone methoden voor het werken met PST‑bestanden. Deze nieuwe API’s stellen ontwikkelaars in staat PST‑bestanden te maken, openen, samenvoegen en splitsen zonder de hoofdthread te blokkeren, waardoor ze ideaal zijn voor UI‑applicaties en services met hoge belasting.
PST‑bestanden asynchroon maken
De PersonalStorage.CreateAsync methode maakt het mogelijk een nieuw PST‑bestand asynchroon te creëren, waardoor niet‑blokkerende uitvoering mogelijk is in applicaties die met grote gegevens werken of een responsieve UI vereisen. Het onderstaande codevoorbeeld toont hoe deze functionaliteit in een C#‑project kan worden geïmplementeerd:
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}");
}
PST‑bestanden asynchroon openen
Om een bestaand PST‑bestand asynchroon te openen, gebruikt u de PersonalStorage.FromFileAsync methode van de Aspose.Email API. Het onderstaande codevoorbeeld toont hoe deze functionaliteit in een C#‑project kan worden geïmplementeerd:
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}");
}
PST‑bestanden asynchroon samenvoegen
De MergeWithAsync methode van de Aspose.Email PersonalStorage klasse stelt u in staat om de inhoud van één PST‑bestand asynchroon in een ander samen te voegen. Dit is nuttig in scenario’s zoals het consolideren van e‑mailarchieven, het combineren van back‑ups, of het verwerken van e‑maildata in bulk – zonder de hoofdthread van uw applicatie te blokkeren. Het onderstaande codevoorbeeld toont hoe deze methode in uw C#‑project kan worden gebruikt:
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.");
}
PST‑bestanden asynchroon splitsen
Het onderstaande codevoorbeeld toont hoe een bestaand PST‑bestand asynchroon kan worden geopend met behulp van FromFileAsync, en splits het vervolgens in meerdere delen met behulp van SplitIntoAsync. Elk deel zal niet groter zijn dan 50 MB en worden opgeslagen in de opgegeven uitvoermap. Asynchrone uitvoering zorgt ervoor dat de bewerking de hoofdthread niet blokkeert, waardoor het geschikt is voor applicaties die grote PST‑archieven verwerken.
using (var pst = await PersonalStorage.FromFileAsync("input.pst"))
{
await pst.SplitIntoAsync(50 * 1024 * 1024, "part_", "outputDirectory", CancellationToken.None);
}