การทำงานแบบอะซิงโครนัสกับไฟล์ PST
เพื่อเพิ่มความสามารถในการขยายและความตอบสนองในแอปพลิเคชันยุคใหม่ Aspose.Email สำหรับ .NET มีเมธอดแบบอะซิงโครนัสสำหรับทำงานกับไฟล์ PST APIs ใหม่เหล่านี้ช่วยให้นักพัฒนาสามารถสร้าง, เปิด, รวม, และแยกไฟล์ 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 คลาสนี้อนุญาตให้คุณผสานเนื้อหาของไฟล์ 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);
}