.NET中的许可证机制
前人的排版太烂,看着费劲。
主要类:
- System.ComponentModel.License(为所有许可证提供 abstract 基类。向组件的特定实例授予许可证)
- System.ComponentModel.LicenseContext(指定何时可使用授权的对象,并且提供一种方法,用以获取为支持在其域内运行的许可证所需要的附加服务)
- System.ComponentModel.LicenseException(表示当组件不能被授予许可证时引发的异常。)
- System.ComponentModel.LicenseManager(提供属性和方法,用以将许可证添加到组件和管理 LicenseProvider)
- System.ComponentModel.LicenseProvider(提供 abstract 基类以便实现许可证提供程序)
- System.ComponentModel.LicenseProviderAttribute(指定要与类一起使用的 LicenseProvider)
许可证机制简介
.Net Framework中的许可证验证机制基于System.ComponentModel命名空间中的License、LicenseContext、LicenseException、LicenseManager、LicenseProvider和LicenseProviderAttribute六个类实现的。
- License是一个抽象类,用于代表许可证主体;
- LicenseContext中保存了许可证的上下文,其中UsageMode属性可以用来获取当前是运行时(runtime)还是设计模式(designtime);
- LicenseException是许可证相关的异常,当许可证信息不可用时,在调用LicenseProvider(或其派生类)实例的GetLicense方法时将抛出此类型的异常;
- LicenseManager是一个密封(sealed)类,LicenseManager提供了多个静态(static)方法用于验证许可证、获取许可证等操作;
- LicenseProviderAttribute属性用于指定某一个类所采用的许可证提供程序(LicenseProvider)的具体类型;
- LicenseProvider是一个抽象类,用于代表许可证验证机制提供程序。
LicenseProvider的类型通过LicenseProviderAttribute属性提供给CLR,当调用LicenseManager的操作时,LicenseManager将根据LicenseProviderAttribute中所提供的LicenseProvider类型创建LicenseProvider实例,