DeployLX Software Protection System

LicenseServer Class

Serves as the base class for license servers.


<WebServiceAttribute(Namespace := "",  _
	Description := "Implements a license server for the DeployLX Licensing® copy protection system. Additional info at",  _
	Name := "DeployLX Licensing® Server")> _
Public Class LicenseServer _
	Inherits WebService
[WebServiceAttribute(Namespace = "", 
	Description = "Implements a license server for the DeployLX Licensing® copy protection system. Additional info at", 
	Name = "DeployLX Licensing® Server")]
public class LicenseServer : WebService


The license server is called in response to various licensing events and should not be called directly. Instead add add a Limit that connects to the server such as the LicenseServerLimit or ActivationLimit. To call a server manually from a custom limit you use the CallServer(String, String, Limit, SecureLicense, LicenseValuesDictionary, Boolean) method of the SecureLicenseContext passed to the Validate(SecureLicenseContext) method.

When implementing a license server you should use the license server wizard which generates an ASP.NET XML Web Service. See the License Servers in DeployLX Licensing topic for details on creating and using a license server.

Validate(ServerRequestContext, Boolean) Performs server side validation for a LicenseServerLimit.
Activate(ServerRequestContext, ActivationLimit) Activates a SecureLicense that contains an ActivationLimit. Calls CanActivate(ServerRequestContext, ActivationLimit, ActivationProfile%) to determine if the activation is allowed and then modifies the license and returns it to the client. Normally only CanActivate needs to be overridden.
CanActivate(ServerRequestContext, ActivationLimit, ActivationProfile%) Determines if a SecureLicense is allowed to be activated and records the activation.
RecordActivation(ServerRequestContext, ActivationLimit, ActivationProfile) Records an activation to a database so that it can be checked later to see if additional activations should be permitted.
CheckProfile(ServerRequestContext, ActivationLimit, String, DateTime, Int32, ActivationProfile%) Determines if an existing MachineProfile can be replaced by the new profile.
Deactivate(ServerRequestContext, ActivationLimit, DeactivationPhase, String) Called when the software has been deactivated on the client machine. Calls CanDeactivate(ServerRequestContext, ActivationLimit, DeactivationPhase, ActivationProfile%) to determine if the deactivation is allowed.
CanDeactivate(ServerRequestContext, ActivationLimit, DeactivationPhase, ActivationProfile%)Determines if the request to deactivate should be allowed.
RecordDeactivation(ServerRequestContext, ActivationLimit, ActivationProfile)Records the deactivation so that the license can be activated again on another machine.
Extend(ServerRequestContext, IExtendableLimit) Extends a SecureLicense that contains an IExtendableLimit. Calls CanExtend(ServerRequestContext, IExtendableLimit, Int32%) to determine if the extension should be allowed and then modifies the license and returns it to the client. Normally only CanExtend needs to be overridden.
CanExtend(ServerRequestContext, IExtendableLimit, Int32%)Determines if the extension request should be permitted.
RecordExtension(ServerRequestContext, IExtendableLimit)Records the extension to a database.
Register(ServerRequestContext, LicenseValuesDictionary, Boolean) Registers a SecureLicense on the server. Normally overridden to store the details in a database.
ProcessFailureReport(String, String, Version, LicenseValuesDictionary) Processes a license failure report sent by the client machine. Called when the FailureReportUrl property of the LicenseHelpAttribute is set.
ExecuteCustomCommand(ServerRequestContext) Called when the Dispatch(String, array<Byte>[]()[][], String, String, String, String, String, String) method is called with a custom dispatch command. Used when developing custom limits.
UnhandledException(Exception, ServerRequestContext, String) Called when an unhandled exception is thrown while processing a license server request. Override to log and process the exception.

Inheritance Hierarchy


Assembly:  DeployLX.Licensing.Management.v5 (in DeployLX.Licensing.Management.v5.dll)

See Also