Ich entwickle ein Plug-in für eine Anwendung von Drittanbietern, die die Verwendung eines System.LicenseProvider erfordert.Verwendung von LicenseManager mit FlexLM
Die Lizenzdatei selbst wird von FlexLM generiert.
so habe ich:
[LicenseProvider(typeof(LicFileLicenseProvider))]
public class MyLicensedModule
{
protected System.ComponentModel.License thisLicense;
protected ModuleFlexFeature thisfeature;
public bool LicenseCheck()
{
bool isLicensed = LicenseManager.IsLicensed(typeof(ModuleFlexFeature)); //returns TRUE
if(thisFeature==null) thisFeature = new ModuleFlexFeature();
thisLicense = LicenseManager.Validate(typeof(ModuleFlexFeature),thisFeature);
//no thrown exception
return (thisLicense != null); //thisLicense is always null
}
public void Dispose()
{
if (thisLicense!=null)
{
thisLicense.Dispose();
thisLicense = null;
}
}
}
(+ andere irrelevante Methoden), mit:
internal class ModuleFlexFeature
{
public ModuleFlexFeature() { }
public string FeatureName { get { return "myFlexLMFeature"; } }
public float FeatureVersion { get { return 2016.0f; } }
}
die LMTOOLS Verwendung von Flexera kann ich die Lizenz-Server-Status (ich auf 7507 leite @mypcname, 0 von 1 Lizenz für myFlexLMFeature wird verwendet).
Dann kann ich 7507 @ mypcname in den zusätzlichen Server hinzufügen, die vom Dritten App verwendet werden, aber:
- isLicensed liefert true (erwartete)
- LicenseManager.Validate() wirft keine Ausnahme (erwartet)
- dieser Lizenz ist null (nicht erwartet)
ich habe versucht
zu verwendenaber beide haben ähnliche Ergebnisse (Code scheint zu funktionieren, aber diese Lizenz ist null)
Bin ich etwas falsch gemacht? Ist LicenseManager kompatibel mit FlexLM? Oder gibt es einen Fehler in der Drittanbieter-App, auf der mein Plug-in läuft (stellt irgendwie keine Verbindung zum Lizenzserver her)? Wie zu überprüfen?
Dank