استخدام CustomImplementationFactory لإنشاء تنفيذ مخصص لـ Memory Stream
سيناريوهات الاستخدام المحتملة
لقد قدمت Aspose.Cells واجهة برمجة تطبيقات تسمى CellsHelper.CustomImplementationFactory التي تتيح للمستخدم تقديم تنفيذ مخصص مثل استخدام تنفيذ الذاكرة القابلة لإعادة الاستخدام بدلاً من MemoryStream الافتراضي.
استخدام CustomImplementationFactory لإنشاء تنفيذ مخصص لـ Memory Stream
الكود النموذجي التالي يوضح كيفية استخدام CellsHelper.CustomImplementationFactory في برنامجك. في بعض الأحيان، هناك ما يكفي من الذاكرة في النظام الخاص بك ولكن الذاكرة غير متصلة. تستخدم كائنات Memory Stream ذاكرة متصلة ولكن يمكنك تقديم تنفيذ لـ Memory Stream بحيث يستخدم الذاكرة غير المتصلة بدلاً من ذلك
الكود المثالي
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Implement CustomImplementationFactory - CELLSNET-45461 | |
public class MM : CustomImplementationFactory | |
{ | |
RecyclableMemoryStreamManager manager = new RecyclableMemoryStreamManager(); | |
public override MemoryStream CreateMemoryStream() | |
{ | |
return manager.GetStream("MM"); | |
} | |
public override MemoryStream CreateMemoryStream(int capacity) | |
{ | |
return manager.GetStream("MM", capacity); | |
} | |
} | |
//---------------------------------------- | |
//---------------------------------------- | |
//Assign implementation instance of CustomImplementationFactory | |
CellsHelper.CustomImplementationFactory = new MM(); | |
//Light cells data handler implementation | |
LightCellsDataHandlerVisitCells v = new LightCellsDataHandlerVisitCells(); | |
//Create workbook object | |
Workbook wb = new Workbook(sourceDir, new LoadOptions() { MemorySetting = MemorySetting.MemoryPreference, LightCellsDataHandler = v }); | |
//Print miscellaneous data | |
Console.WriteLine("Total sheets: " + wb.Worksheets.Count + ", cells: " + v.CellCount + ", strings: " + v.StringCount + ", formulas: " + v.FormulaCount); |