عملیات ناهمگام با فایلهای PST
برای افزایش مقیاسپذیری و پاسخگویی در برنامههای مدرن، Aspose.Email برای .NET متدهای ناهمگام برای کار با فایلهای PST ارائه میدهد. این APIهای جدید به توسعهدهندگان امکان ایجاد، باز کردن، ادغام و تقسیم فایلهای 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 متد API 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. هر بخش بیشتر از ۵۰ مگابایت نخواهد بود و در دایرکتوری خروجی مشخصشده ذخیره میشود. اجرای ناهمگام تضمین میکند که عملیات رشتهٔ اصلی را مسدود نکند، که این امر آن را برای برنامههایی که آرشیوهای بزرگ PST را پردازش میکنند، مناسب میسازد.
using (var pst = await PersonalStorage.FromFileAsync("input.pst"))
{
await pst.SplitIntoAsync(50 * 1024 * 1024, "part_", "outputDirectory", CancellationToken.None);
}