Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Управление лицензированием элементов управления
8 февраля 2009

В .NET Framework имеется встроенная поддержка управления лицензированием
элементов управления. Лицензирование элементов управления позволяет их созда-
телям защитить свою интеллектуальную собственность: предоставить доступ к сво-
им элементам управления только авторизированным разработчикам. Модель лицеи-
зирования, принятая по умолчанию, требует, чтобы все лицензируемые элементы
управления были помечены атрибутом License Provider Attribute, указывающим объект License
Provider-- он необходим для проверки подлинности лицензии. License Provider —
это абстрактный класс, предоставляющий стандартный интерфейс проверки под-
линности. В конструкторе элемента управления следует вызвать метод LicenseManager.
Validate, чтобы получить ссылку на действительную лицензию. Если лицензия
на элемент управления отсутствует, его загрузка закончится неудачей.
Метод License Manager. Validate вызывает метод GetLicense заданного объекта
License Provider, который извлекает лицензию и проверяет ее при помощи метода
Is Key Valid объекта LicenseProvider. Если IsKey Valid возвращает true, то лицензия счи-
тается действительной, в противном случае этот элемент управления не загружает-
ся. Применяемая схема проверки зависит от реализации LicenseProvider. .NET- ре-
ализация класса LicenseProvider называется Lie File License Provider. Если этот класс
задан как LicenseProvider, он применяется для проверки лицензии. Метод GetLicense
этого класса ищет в каталоге с DLL-файлом элемента управления текстовый файл с
именем FuliName.LIC, где FullName — полное имя элемента управления. Затем
Is Key Valid проверяет наличие в первой строке текстового файла подстроки «my Class-
Name is a licensed component», где myClassName — полное имя компонента. Разра-
ботчик волен заменить этот алгоритм проверки собственным, переопределив соот-
ветствующие методы. В каждом лицензируемом элементе управления должен быть
метод Dispose, который следует вызывать для освобождения ресурсов, связанных с
проверкой лицензии.
Вот пример лицензируемого элемента управления Widget, использующего про-
верку с помощью класса Lie File License Provider.
Visual Basic .NET
' Этот пример предполагает наличие оператора Imports System.ComponentModel,
' Это атрибут LicenseProvider, указывающий тип применяемого LicenseProvider,
<LicenseProvider(GetType(LicFileLicenseProvider})> Public Class
Widget
Inherits Control
Private myLicense As License
Public Sub New()
' Проверить лицензию и получить ссылку на нее.
myLicense = LicenseManager,Validate(GetType(Widget), Me)
Остальной код конструктора опущен.
End Sub
Это метод Dispose, освобождающий ресурсы, связанные с проверкой лицензии.
Protected Overloads Overrides Sub
Dispose(ByVal Disposing As Boolean)
If Not (myLicense Is Nothing) then
niyLicense.DisposeO
myLicense = Nothing
End If
End Sub
End Class
Visual C#
// Этот пример предполагает наличие оператора Imports System.ComponentModel.
// Это атрибут LicenseProvider, указывающий тип применяемого LicenseProvider.
[LicenseProvider(typeof(LicFileLicenseProvider)}]
public class Widget : System.Windows.Forms.Control
private License myLicense;
public Widget()
// Проверить лицензию и получить ссылку на нее.
myLicense = LicenseManager.Validate(typeof(Widget)T this);
// Остальной код конструктора опущен.
// Это метод Dispose, освобождающий ресурсы, связанные с проверкой лицензии.
protected override void Dispose(bool Disposing)
if (myLicense !- null)
myLicense.Dispose(};
myLicense = null;
}
\
> Реализация управления лицензированием элемента управления
1. Укажите класс LicenseProvider, добавив к объявлению класса атрибут License-
Provider A (tribute.
2. Создайте файл License, требуемый выбранным классом LicenseProvider,
3. В конструкторе элемента управления вызовите метод LicenseManager. Validate для
проверки лицензии.
4. Освободите ресурсы, занятые проверкой лицензии, вызвав метод Dispose элемен-
та управления.

Теги: .NET

Статьи по теме:

Рисование простых фигур
Применение трассировочных переключателей
Перегрузка операторов в Visual C#
Создание абстрактных членов
Установка порядка передачи фокуса при нажатии клавиши Tab
ToDoList 5.6.6
Работа в редакторе кода
Towards Cleaner Code II, a C# GUI Invoke/Async Helper
Связывание, просмотр и фильтрация данных
Создание типизированного объекта DataSet с помощью XML Designer
Применение объекта DataReader
Создание производных элементов управления
Parsing Expression Grammar Support for C# 3.0 Part 1 – PEG Lib and Parser Generator
Работа с классом Help
Создание поддержки печати
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Управление лицензированием элементов управления. Регион сайта: Москва и Санкт-Петербург