Aspose PDF 如何找到许可对象

How Aspose PDF finds the License Object

这个问题很笼统,与 Aspose 产品没有具体关系,但它会帮助我更好地解释这个问题。

Aspose 有两个独立的 classes:

namespace Aspose.Cells
{
    public class License
    {
        public License();

        public void SetLicense(string licenseName);
        public void SetLicense(Stream stream);
    }
}

public class Workbook : IDisposable
{
        public Workbook();
        public Workbook(FileFormatType fileFormatType);
        public Workbook(string file);
        public Workbook(Stream stream);
        public Workbook(string file, LoadOptions loadOptions);
        public Workbook(Stream stream, LoadOptions loadOptions);

        public WorksheetCollection Worksheets { get; }
        public bool IsLicensed { get; }
}

根据 aspose 的文档,我需要使用以下行设置许可证密钥 每个应用程序一次

Aspose.Cells.License licence = new License();
licence .SetLicense("License file.txt");

然后,我可以使用下面的工作簿class而不需要再次设置许可证。

 Workbook workbook = new Workbook(stream, new LoadOptions(loadFormat));
 Console.WriteLine(workbook.IsLicensed);

一切正常,但我想了解工作簿对象在不传递许可证对象作为对工作簿的引用的情况下访问许可证对象的对象是谁?诀窍是什么?看起来工作簿对象可以直接访问许可证对象...

许可是图书馆级别属性,图书馆的所有成员都可以访问以进行验证。当在应用程序中加载一次库并初始化许可证时,则无需再次初始化许可证。使用多线程或实现任何其他架构,一次许可证初始化就足够了,库中的所有成员(如 Workbook 和其他人)都可以访问它。

您可以访问以下 link 以获取有关使用 Aspose.Cells 许可的更多详细信息。

https://docs.aspose.com/display/cellsnet/Licensing

注意:我在 Aspose 担任支持开发人员/传播者。