Asynkrona operationer med PST-filer
För att förbättra skalbarhet och respons i moderna applikationer erbjuder Aspose.Email för .NET asynkrona metoder för att arbeta med PST-filer. Dessa nya API:er låter utvecklare skapa, öppna, slå samman och dela PST-filer utan att blockera huvudtråden, vilket gör dem idealiska för UI-applikationer och tjänster med hög belastning.
Skapa PST-filer asynkront
Den PersonalStorage.CreateAsync metod gör det möjligt att skapa en ny PST-fil asynkront, vilket möjliggör icke-blockerande körning i applikationer som arbetar med stora data eller kräver responsiva UI. Följande kodexempel visar hur du implementerar denna funktion i ett C#-projekt:
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}");
}
Öppna PST-filer asynkront
För att öppna en befintlig PST-fil asynkront, använd PersonalStorage.FromFileAsync metod i Aspose.Email API. Följande kodexempel visar hur du implementerar denna funktion i ett C#-projekt:
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}");
}
Slå samman PST-filer asynkront
Den MergeWithAsync metod i Aspose.Email PersonalStorage klassen gör det möjligt att slå samman innehållet i en PST-fil med en annan asynkront. Detta är användbart i scenarier som att konsolidera e-postarkiv, kombinera säkerhetskopior eller bearbeta e-postdata i bulk - utan att blockera applikationens huvudtråd. Kodexemplet nedan visar hur du använder denna metod i ditt C#-projekt:
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.");
}
Dela PST-filer asynkront
Kodexemplet nedan visar hur man asynkront öppnar en befintlig PST-fil med hjälp av FromFileAsync, och dela sedan upp den i flera delar med hjälp av SplitIntoAsync. Varje del kommer inte att vara större än 50 MB och sparas i den angivna utdatamappen. Asynkron körning säkerställer att operationen inte blockerar huvudtråden, vilket gör den lämplig för applikationer som bearbetar stora PST-arkiv.
using (var pst = await PersonalStorage.FromFileAsync("input.pst"))
{
await pst.SplitIntoAsync(50 * 1024 * 1024, "part_", "outputDirectory", CancellationToken.None);
}