Asynchrone Vorgänge mit PST-Dateien
Um die Skalierbarkeit und Reaktionsfähigkeit moderner Anwendungen zu verbessern, bietet Aspose.Email für .NET asynchrone Methoden zur Arbeit mit PST-Dateien. Diese neuen APIs ermöglichen es Entwicklern, PST-Dateien zu erstellen, zu öffnen, zusammenzuführen und aufzuteilen, ohne den Hauptthread zu blockieren, wodurch sie sich ideal für UI‑Anwendungen und hochbelastete Dienste eignen.
PST-Dateien asynchron erstellen
Die PersonalStorage.CreateAsync Methode ermöglicht das asynchrone Erstellen einer neuen PST-Datei und damit eine nicht blockierende Ausführung in Anwendungen, die mit großen Datenmengen arbeiten oder reaktionsfähige Benutzeroberflächen benötigen. Das folgende Codebeispiel zeigt, wie Sie diese Funktion in ein C#‑Projekt implementieren:
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-Dateien asynchron öffnen
Um eine vorhandene PST-Datei asynchron zu öffnen, verwenden Sie die PersonalStorage.FromFileAsync Methode der Aspose.Email-API. Das folgende Codebeispiel zeigt, wie Sie diese Funktion in ein C#‑Projekt implementieren:
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-Dateien asynchron zusammenführen
Die MergeWithAsync Methode von Aspose.Email PersonalStorage Die Klasse ermöglicht das asynchrone Zusammenführen des Inhalts einer PST-Datei in eine andere. Dies ist nützlich in Szenarien wie der Konsolidierung von E-Mail-Archiven, dem Kombinieren von Sicherungen oder der massenhaften Verarbeitung von E-Mail-Daten – ohne den Hauptthread Ihrer Anwendung zu blockieren. Das untenstehende Codebeispiel zeigt, wie Sie diese Methode in Ihrem C#‑Projekt verwenden:
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-Dateien asynchron aufteilen
Das untenstehende Codebeispiel zeigt, wie Sie eine vorhandene PST-Datei mithilfe von FromFileAsync, und dann in mehrere Teile aufteilen mit SplitIntoAsync. Jeder Teil wird nicht größer als 50 MB sein und im angegebenen Ausgabeverzeichnis gespeichert. Asynchrone Ausführung stellt sicher, dass der Vorgang den Hauptthread nicht blockiert, was ihn für Anwendungen geeignet macht, die große PST-Archive verarbeiten.
using (var pst = await PersonalStorage.FromFileAsync("input.pst"))
{
await pst.SplitIntoAsync(50 * 1024 * 1024, "part_", "outputDirectory", CancellationToken.None);
}