Operasi Asinkron dengan File PST

Untuk meningkatkan skalabilitas dan responsifitas pada aplikasi modern, Aspose.Email untuk .NET menyediakan metode asinkron untuk bekerja dengan file PST. API baru ini memungkinkan pengembang membuat, membuka, menggabungkan, dan membagi file PST tanpa memblokir thread utama, menjadikannya ideal untuk aplikasi UI dan layanan dengan beban tinggi.

Buat File PST Secara Asinkron

The PersonalStorage.CreateAsync metode memungkinkan Anda membuat file PST baru secara asinkron, memungkinkan eksekusi non-blok pada aplikasi yang bekerja dengan data besar atau memerlukan UI responsif. Contoh kode berikut menunjukkan cara mengimplementasikan fitur ini ke dalam proyek 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}");
}

Buka File PST Secara Asinkron

Untuk membuka file PST yang ada secara asinkron, gunakan PersonalStorage.FromFileAsync metode dari API Aspose.Email. Contoh kode berikut menunjukkan cara mengimplementasikan fitur ini ke dalam proyek 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}");
}

Gabungkan File PST Secara Asinkron

The MergeWithAsync metode dari Aspose.Email PersonalStorage kelas memungkinkan Anda menggabungkan konten satu file PST ke file lain secara asinkron. Ini berguna dalam skenario seperti mengkonsolidasi arsip email, menggabungkan cadangan, atau memproses data email secara massal - tanpa memblokir thread utama aplikasi Anda. Contoh kode di bawah ini menunjukkan cara menggunakan metode ini dalam proyek C# Anda:

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.");
}

Bagi File PST Secara Asinkron

Contoh kode di bawah ini menunjukkan cara membuka file PST yang ada secara asinkron menggunakan FromFileAsync, dan kemudian membagi menjadi beberapa bagian menggunakan SplitIntoAsync. Setiap bagian tidak akan lebih besar dari 50 MB dan disimpan ke direktori output yang ditentukan. Eksekusi asinkron memastikan operasi tidak memblokir thread utama, menjadikannya cocok untuk aplikasi yang memproses arsip PST besar.

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