Проект предназначен для учёта сессий, и контроля лицензии в ПО При запуске считываются данные из зашифрованного архива и проверяются в зависимости от требований.
библиотека создана при поддержке https://github.com/Infarh
Install-SessionLicenseControl -Version 1.0.0
Install-Package SessionLicenseControl.WPF -Version 1.0.0 For WPF
для работы с лицензией: создание:
var lic = new LicenseGenerator(Secret, hdd, expirationDate, Ouner, check_sessions);
lic.CreateLicenseFile(LicenseFilePath);
где:
Secret
- Секретная последовательность для шифрования данныхhdd
- Идентификатор жесткого диска компьютера, на котором будет использоваться файлexpirationDate
- Дата истечения срока действия лицензииOuner
- Для кого создана лицензияcheck_sessions
- Включить управление сеансами в лицензияхLicenseFilePath
- Путь, в котором будет сохранен файл лицензии
Вы можете использовать "LicenseCreator" для создания лицензии через консоль
Или использовать WPF приложение
для работы с файлом лицензии:
var controller = new SessionLicenseController(LicenseFilePath, Secret, StartNewSession, "Admin");
если лицензия истекла, или данные были скомпроментированы - на этом этапе вы получите ошибку
чтобы посмотреть данные о лицензии:
controller.License.ToString(); //or controller.License.GetLicenseInformation()
посмотреть данные о сессиях
foreach (var (date_time, sessions) in controller.SessionController.GetSessionData())
{
$"Day: {date_time:dd.MM.yyyy}".ConsoleYellow();
foreach (var session in sessions)
{
session.ConsoleRed();
}
}
как проверить для консоли:
var flag = true;
string row = null;
while (flag)
try
{
var controller = row is null ? new SessionLicenseController(SessionsFilePath, Secret, true, "Admin") : new SessionLicenseController(row, Secret, SessionsFilePath, true, "Admin");
flag = false;
"License information:".ConsoleYellow();
controller.License.ToString().ConsoleRed();
}
catch (Exception)
{
Console.WriteLine("License is bad, Enter license code or add file");
row = Console.ReadLine();
}
как проверить для WPF:
LicenseChecker.CheckLicense("license.lic", "testwpf", true, "admin");
если в лицензии на WPF будет ошибка - то интерфейс будет заблокирован окном ввода строки лицензии