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