العمليات غير المتزامنة مع ملفات PST
لتعزيز القابلية للتوسع والاستجابة في التطبيقات الحديثة، توفر Aspose.Email لـ .NET طرقًا غير متزامنة للعمل مع ملفات PST. تسمح هذه الواجهات البرمجية الجديدة للمطورين بإنشاء، فتح، دمج، وتقسيم ملفات 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. تُظهر عينة الشيفرة التالية كيفية تنفيذ هذه الميزة في مشروع 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);
}