Özel Uygulama Fabrikası kullanarak Bellek Akışı nın özel uygulamasını oluşturmak

Olası Kullanım Senaryoları

Aspose.Cells, CellsHelper.CustomImplementationFactory adında bir API sağlamıştır. Bu API, varsayılan MemoryStream yerine Geri Dönüştürülebilir bellek uygulamasını kullanarak özel uygulama sağlama imkanı sunar.

Özel Uygulama Fabrikası kullanarak Bellek Akışı’nın özel uygulamasını oluşturmak

Aşağıdaki örnek kod, programınızda CellsHelper.CustomImplementationFactory kullanımını göstermektedir. Bazen sistemde yeterli bellek olabilir fakat bellek arka arkaya değildir. Bellek Akışı nesneleri ardışık bellek kullanır ancak Bellek Akışı’nın uygulamasını öyle bir şekilde sağlayabilirsiniz ki bunun yerine ardışık olmayan bellek kullanır.

Örnek Kod

// 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);