Operações Assíncronas com Arquivos PST
Para melhorar a escalabilidade e a responsividade em aplicações modernas, o Aspose.Email para .NET oferece métodos assíncronos para trabalhar com arquivos PST. Essas novas APIs permitem que desenvolvedores criem, abram, mesclem e dividam arquivos PST sem bloquear a thread principal, tornando-as ideais para aplicações de interface de usuário e serviços de alta carga.
Criar Arquivos PST Assincronamente
O PersonalStorage.CreateAsync O método permite criar um novo arquivo PST de forma assíncrona, possibilitando execução não bloqueante em aplicações que lidam com grandes volumes de dados ou que requerem interfaces responsivas. O exemplo de código a seguir demonstra como implementar esse recurso em um projeto 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}");
}
Abrir Arquivos PST Assincronamente
Para abrir um arquivo PST existente de forma assíncrona, use o PersonalStorage.FromFileAsync método da API Aspose.Email. O exemplo de código a seguir demonstra como implementar esse recurso em um projeto 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}");
}
Mesclar Arquivos PST Assincronamente
O MergeWithAsync método da Aspose.Email PersonalStorage A classe permite mesclar o conteúdo de um arquivo PST em outro de forma assíncrona. Isso é útil em cenários como consolidar arquivos de e‑mail, combinar backups ou processar dados de e‑mail em massa – sem bloquear a thread principal da sua aplicação. O exemplo de código abaixo demonstra como usar este método em seu projeto 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.");
}
Dividir Arquivos PST Assincronamente
O exemplo de código abaixo demonstra como abrir assíncronamente um arquivo PST existente usando FromFileAsync, e então divida-o em múltiplas partes usando SplitIntoAsync. Cada parte terá no máximo 50 MB e será salva no diretório de saída especificado. A execução assíncrona garante que a operação não bloqueie a thread principal, tornando-a adequada para aplicações que processam grandes arquivos PST.
using (var pst = await PersonalStorage.FromFileAsync("input.pst"))
{
await pst.SplitIntoAsync(50 * 1024 * 1024, "part_", "outputDirectory", CancellationToken.None);
}