OpenLicenseBuilder如何实现许可

时间:2009-07-20 09:22:14

标签: licensing

我需要在我的Windows应用程序中实现许可我下载了这个名为OpenLicenseBuilder的开源项目代码,该代码生成一个带有产品代码和某些约束的xml文件如何在我的.Net窗口应用程序中使用它我只是不知道如何使用gereated xml文件whihc是扩展LIC。

问候 弗兰

1 个答案:

答案 0 :(得分:1)

阅读源代码表明Licensprovider首先在内部缓存中查找,其次在隔离存储中查找。

同时它尝试从文件系统获取许可证,如下所示(取决于它是webapp还是Windows应用程序:

从预设的一组路径中获取许可证。路径定义为:

  • 应用程序库目录
  • 应用程序启动路径

在代码中:

HttpContext.Current.Server.MapPath( "~" + Path.DirectorySeparatorChar );
HttpContext.Current.Server.MapPath( "." + Path.DirectorySeparatorChar );
HttpContext.Current.Server.MapPath( "~" + Path.DirectorySeparatorChar ) + "bin";

或Windows应用程序:

System.Windows.Forms.Application.StartupPath + Path.DirectorySeparatorChar
System.Windows.Forms.Application.StartupPath + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar;

如果文件系统中的许可证比隔离存储中的许可证更新,则会存储替代许可证的副本。

关于代码中的用法。该示例显示您需要使用库,如下所示:

在Class声明中使用Attribute来表示您将使用OpenLicenseProvider作为许可提供者:

using System.ComponentModel;
...

enter code here
[LicenseProvider( typeof( OpenLicense.OpenLicenseProvider ) )]
public class MyClass
{ 
    ...

然后在代码中使用LicenseManager通过OpenLicenseProvider验证许可证:

    private License license = null;

    LicenseManager.IsValid( typeof( MyClass ), this, out license );