Как Aspose PDF находит объект лицензии - PullRequest
0 голосов
/ 20 декабря 2018

Вопрос носит общий характер и не относится конкретно к продукту Aspose, но он поможет мне лучше объяснить вопрос.

Aspose имеет два отдельных класса:

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

И затем я могуиспользуйте следующий класс книги без необходимости заново устанавливать лицензию.

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

Все работает отлично, но я хотел бы понять, кто из объектов книги обращается к объекту лицензии, не передавая объект лицензии в качестве ссылки нарабочая тетрадь?В чем подвох?Похоже, что объект книги может напрямую обращаться к объекту лицензии ...

1 Ответ

0 голосов
/ 20 декабря 2018

Лицензия - это свойство уровня библиотеки, которое доступно для проверки всем членам библиотеки.Когда библиотека загружается один раз в приложение и инициализируется лицензия, нет необходимости повторно инициализировать лицензию.Либо используется многопоточность, либо реализована любая другая архитектура, достаточно однократной инициализации лицензии, и все члены библиотеки, такие как Workbook и другие, имеют к ней доступ.

Вы можете перейти по следующей ссылке для получения дополнительной информации о лицензировании.используя Aspose.Cells.

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

Примечание. Я работаю разработчиком / евангелистом поддержки в Aspose.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...