C# 给程序添加许可

实现许可提供程序:

using System;
using System.ComponentModel;
using System.IO;
public class MyLicenseProvider : LicenseProvider
{
    public override License GetLicense(LicenseContext context, Type type, object instance, bool allowExceptions)
    {
        if (context.UsageMode == LicenseUsageMode.Designtime)
        {
            return new MyLicense(this"OK");
        }
        else
        {
            string licenseFile = AppDomain.CurrentDomain.BaseDirectory + "test.lic";
            if (File.Exists(licenseFile))
            {
                return new MyLicense(this"OK");
            }
            else
            {
                throw new LicenseException(type);
            }
        }
    }
}

 

许可证:

using System.ComponentModel;
public class MyLicense : License
{
    private MyLicenseProvider licenseProvider;
    private string licenseKey;

    public MyLicense(MyLicenseProvider licenseProvider, string licenseKey)
    {
        this.licenseProvider = licenseProvider;
        this.licenseKey = licenseKey;
    }
 
    public override string LicenseKey
    {
        get
        {
            return licenseKey;
        }
    }

    public override void Dispose()
    {
        this.licenseProvider = null;
        this.licenseKey = null;
    }

 

给组件添加许可:

using System;
using System.ComponentModel;
[LicenseProvider(typeof(MyLicenseProvider))]
public static class Business1
{
    static Business1()
    {
        LicenseManager.Validate(typeof(Business1), null);
    }

    public static string TestString = "test ok";
}

 

posted on 2011-12-28 16:28  大豆男生  阅读(1501)  评论(2编辑  收藏  举报

导航