PST ファイルの非同期操作

最新のアプリケーションでスケーラビリティと応答性を向上させるために、Aspose.Email for .NET は PST ファイル操作用の非同期メソッドを提供します。これらの新しい API により、開発者はメインスレッドをブロックせずに PST ファイルの作成、オープン、マージ、分割が可能となり、UI アプリケーションや高負荷サービスに最適です。

PST ファイルを非同期で作成

この PersonalStorage.CreateAsync このメソッドは、新しい PST ファイルを非同期で作成でき、大量データを扱うアプリケーションやレスポンシブな UI が必要なアプリケーションでブロックされない実行を可能にします。以下のコードサンプルは、この機能を 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}");
}

PST ファイルを非同期で開く

既存の PST ファイルを非同期で開くには、次を使用します: PersonalStorage.FromFileAsync Aspose.Email API のメソッドです。以下のコードサンプルは、この機能を 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}");
}

PST ファイルを非同期でマージ

この MergeWithAsync Aspose.Email のメソッド PersonalStorage このクラスは、1 つの PST ファイルの内容を別の PST ファイルに非同期でマージすることを可能にします。メールアーカイブの統合、バックアップの結合、または大量のメールデータの処理などのシナリオで役立ち、アプリケーションのメインスレッドをブロックしません。以下のコードサンプルは、このメソッドを 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.");
}

PST ファイルを非同期で分割

以下のコードサンプルは、既存の PST ファイルを非同期で開く方法を示しています: FromFileAsync, それからこれを使用して複数のパーツに分割します SplitIntoAsync各パートは 50 MB を超えず、指定された出力ディレクトリに保存されます。非同期実行により、操作がメインスレッドをブロックしないため、大きな PST アーカイブを処理するアプリケーションに適しています。

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