Aracılığıyla paylaş


Nasıl yapılır: Lisans Bileşenleri ve Denetimleri

.NET Framework Olan tüm bileşenleri ve denetimleri Windows Forms denetimleri de dahil olmak üzere, aynı bir lisans modeli sağlar ve ASP.NET server denetimlerini ve Microsoft ActiveX ® denetimleri için lisans ile tam uyumludur.

Lisans ile bileşeni veya denetimi Yazar olarak sizin fikri mülkiyet Geliştirici bileşeni veya denetimi kullanma yetkisi olduğunu doğrulayarak korunmasına yardımcı olabilirsiniz.Bu doğrulama ne zaman bir geliştirici bileşeni veya denetimi bir uygulamaya göre çalışma zamanında eklediğini tasarým anýnda daha önemlidir.Bir geliştirici yasal olarak lisanslı bileşeni veya denetimi tasarým anýnda kullandığında, geliştiricinin uygulama geliştirici ücretsiz olarak dağıtmak üzere bir çalışma zamanı lisans alır.

Lisans modeli desteğiyle lisansı birçok düzeyleri vardır.Modelin bileşeni veya denetimi doğrulama mantığını ayırır.Lisans sağlayıcı lisans verir ve doğrulama mantığını uygular.Sağlayıcı türetildiği sınıfı olan LicenseProvider.Lisans etkinleştirmek için gerçekleştirmeniz gereken adımlar basit.

Varsayılan uygulamasını kullandığınızda, LicenseProvider tarafından sağlanan LicFileLicenseProvider, aşağıdaki şekilde biçimlendirilmiş bir lisans dosyası:

  • Dosya adını dosya adı uzantısı olan sınıfın ad alanı da dahil olmak üzere tam nitelikli adı olmalıdır.LİS.Örne?in:

    Namespace1.Class1.LIC

  • Lisans dosyasının içeriğini aşağıdaki metin dizesi içermelidir:

    "myClassName lisanslı bir bileşendir."

    myClassNametam nitelendirilmiş sınıf adıdır.Örne?in:

    "Namespace1.Class1 lisanslı bileşenidir."

Aşağıdaki kod bir Windows Forms denetimi örnekler ve bir ASP.NET lisansı basit bir servis talebi çözümü sunucu denetimi.

Bileşen veya denetim için lisansını etkinleştirmek için

  1. Geçerli bir LicenseProviderAttribute sınıfına.

  2. Call Validate veya IsValid oluşturucuda.

  3. Call Dispose üzerinde herhangi bir sınıfın veya sonlandırıcıyı çağrılmadan önce sonlandırıcıyı verilen lisans.

Yerleşik lisans sağlayıcı sınıfı aşağıdaki kod örneklerini kullanın LicFileLicenseProvider, metin lisans dosyaları açmanıza olanak sağlayan ve com (ActiveX) lisans davranışını taklit eder.Bir bileşen örneklerini sayısını sınırlamak için bir xml Web servisini çağırmak gibi daha karmaşık lisans senaryolar farklı türde lisans sağlayıcıları gerektirir.

Örnek

Imports System
Imports System.ComponentModel
Imports System.Windows.Forms

' Adds the LicenseProviderAttribute to the control.
<LicenseProvider(GetType(LicFileLicenseProvider))> _
Public Class MyControl
    Inherits Control

    ' Creates a new, null license. 
    Private license As License = Nothing     

    Public Sub New()        

        ' Adds Validate to the control's constructor.
        license = LicenseManager.Validate(GetType(MyControl), Me)

        ' Insert code to perform other instance creation tasks here. 

    End Sub 

    Protected Overrides Sub Dispose(ByVal disposing As Boolean)

        If disposing Then 
            If (license IsNot Nothing) Then
                license.Dispose()
                license = Nothing 
            End If 
        End If 

    End Sub     

End Class
using System;
using System.ComponentModel;
using System.Windows.Forms;


// Adds the LicenseProviderAttribute to the control.
[LicenseProvider(typeof(LicFileLicenseProvider))]
public class MyControl : Control 
{

   // Creates a new, null license. 
   private License license = null;

   public MyControl () 
   {

      // Adds Validate to the control's constructor.
      license = LicenseManager.Validate(typeof(MyControl), this);

      // Insert code to perform other instance creation tasks here.
   }

   protected override void Dispose(bool disposing) 
   {
      if(disposing)
      {
         if (license != null) 
         {
            license.Dispose();
            license = null;
         }
      }
   }

}
// Adds the LicenseProviderAttribute to the control.

[LicenseProvider(LicFileLicenseProvider::typeid)]
public ref class MyControl: public Control
{
   // Creates a new, null license. 
private:
   License^ license;

public:
   MyControl()
   {

      // Adds Validate to the control's constructor.
      license = LicenseManager::Validate( MyControl::typeid, this );

      // Insert code to perform other instance creation tasks here.
   }

public:
   ~MyControl()
   {
      if ( license != nullptr )
      {
         delete license;
         license = nullptr;
      }
   }
};
Imports System
Imports System.ComponentModel
Imports System.Web.UI

' Adds the LicenseProviderAttribute to the control.
<LicenseProvider(GetType(LicFileLicenseProvider))> Public Class MyControl
    Inherits Control

    ' Creates a new, null license. 
    Private license As License

    Public Sub New()

        ' Adds Validate to the control's constructor.
        license = LicenseManager.Validate(GetType(MyControl), Me)

        ' Insert code to perform other instance creation tasks here. 

    End Sub 

    Public Overrides Sub Dispose()
        If (license IsNot Nothing) Then
            license.Dispose()
            license = Nothing 
        End If 
        MyBase.Dispose()
    End Sub 
End Class
using System;
using System.ComponentModel;
using System.Web.UI;

// Adds the LicenseProviderAttribute to the control. 
public class MyServerControl : Control 
{
    // Creates a new, null license. 
    private License license = null;

    public MyServerControl() 
    {
        // Adds Validate to the control's constructor.
        license = LicenseManager.Validate(typeof(MyServerControl), this);

        // Insert code to perform other instance creation tasks here.
    }

    public override void Dispose() 
    {      
        if (license != null) 
        {
            license.Dispose();
            license = null;
        }

        base.Dispose();
    }    
}

Ayrıca bkz.

Başvuru

LicenseProviderAttribute

LicenseProvider

Diğer Kaynaklar

Bileşen Yazma