License meta data refresh


My application uses meta data associated with an indivudals license. This meta data is a single string which effectively controls what features are available to that specific user in the application.

When I change the meta data string, I have to run my application twice before it picks up the new meta data. I have tried chnaging it and leaving it overnight but it still requires two cycles before the meta data is read correctly.

I using Windows .NET, C# and version 3.24.1 of the SDK via nuget.


LexActivator.SetProductData ( _Product_Data );
LexActivator.SetProductId ( _Product_ID, LexActivator.PermissionFlags.LA_USER );
if ( LexActivator.IsLicenseGenuine ( ) == LexStatusCodes.LA_OK)
  data = LexActivator.GetLicenseMetadata( _MetaKeyName );

It would appear to work on some occaisions when single stepping through the code. Are there timing constraints on changing the metadata via portal and the application being able to read the metadata?

Am I missing something ?


Hi @Toby_Harris ,

Upon updating the license, corresponding modifications will be observed on the application side following a successful server synchronization. When the IsLicenseGenuine() function is invoked, it first validates the license locally and then triggers the server sync in the background and the initial server sync occurs just after 3 seconds of invoking this function, followed by subsequent syncs at the configured ServerSyncInterval. The outcome of each server sync is communicated to the SetLicenseCallback() function.

Encourage customers to restart the application for the changes to get reflected quickly, especially when waiting for the regular server sync may not meet the desired speed of change propagation.

Moreover, given your utilization of License metadata to regulate features in your application, consider leveraging our feature management for effective feature administration.


Thank you for your response, I will look into using the feature management options as they sound very powerful and probably exactly what I need.

GIven that I use the new feature management options, on application startup I display a splash screen which will show the product version assigned to the users license. Am I right in thinking I will still need to wait 3 seconds (or the license callback) before I can gurantee that the product version data returned from using

G_ProductEditionName = LexActivator.GetProductVersionDisplayName ();
ProductVersionFeatureFlag pvff = LexActivator.GetProductVersionFeatureFlag ( FEATURE_FLAG );

will be correct?

I have just tried this, and if I put a break point on the second line (GetProductVersionFeatureFlag) and wait 3 seconds before executing the call, I get incorrect data from GetProductVersionDisplayName and correct data for GetProductVersionFeatureFlag.

Yes, in case the product version linked with the license is updated, changes will be reflected once the server sync is completed.