פעולות אסינכרוניות עם קבצי PST

כדי לשפר את הקנה מידה והתגובתיות ביישומים מודרניים, Aspose.Email עבור .NET מספקת מתודות אסינכרוניות לעבודה עם קבצי PST. ה‑APIs החדשות הללו מאפשרות למפתחים ליצור, לפתוח, למזג ולפצל קבצי PST ללא חסימת תהליך הראשי, מה שהופך אותם אידיאליים ליישומי ממשק משתמש ולשירותים בעומסים גבוהים.

צור קבצי PST באופן אסינכרוני

ה PersonalStorage.CreateAsync מתודה זו מאפשרת ליצור קובץ PST חדש באופן אסינכרוני, מה שמאפשר ביצוע ללא חסימות ביישומים שעובדים עם נתונים גדולים או דורשים ממשק משתמש מגיב. דוגמת הקוד הבאה מציגה כיצד ליישם תכונה זו בפרויקט 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 מחלקה זו מאפשרת למזג את תוכן קובץ 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 מב והישמר בתיקיית הפלט המצויינת. ביצוע אסינכרוני מבטיח שהפעולה לא תחסום את תהליך הראשי, מה שמאפשר להשתמש בו ביישומים שמעבדים ארכיוני PST גדולים.

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