Ihr kennt das ja bestimmt auch, das man .net dlls einfach als Verweis zu einem Projekt hinzufügen kann und ich sofort alle Klassen etc benutzen kann. Aber was mach ich wenn mein Produkt fertig entwickelt wurde und nun ausgeliefert werden soll?
Also ich möchte nicht das jemand anderes meine Funktionen nutzen kann. Ich hab schon dran gedacht jede Klasse eine "Kennwort" mit zuübergeben aber was mach ich bei statischen Funktionen?
Über eine Antwort würd ich mich freuen.
Du kannst den Assemblys Berechtigungen erteilen, so daß nur deine Anwendung die Assemblys nutzen darf.
Bescheidenheit ist wohl die einzige Gabe mit der man nicht angeben kann ohne sie dabei zu zerstören. 8)
Hallo ScToSh,
es gibt System.ComponentModel-Namespace Klassen, die einem beim Lizenzieren von Klassen und Komponenten unterstützen sollen: LicenseManager, LicenseProvider und LicenseProviderAttribute.
Eine lizenzierbare Klasse hat das LicenseProvider-Attribute gesetzt. In ihrem Konstruktor fragt die Klasse beim LicenseManager eine License an. Der LicenseManager wiederum, holt sich die License vom im LicenseProvider-Attribute angegebenen, konkreten LicenseProvider.
Lizenzen zu validieren, ist Aufgabe eines konkreten LicenseProviders. Im .Net-Framework wird nur einer mitgeliefert: LicFileLicenseProvider. LicFileLicenseProvider überprüft eine als Ressource in die Assembly eingebettete Lic-Datei, ob die erste Textzeile mit einem bestimmten Klartext übereinstimmt.
Ich finde das ist so wenig brauchbar. Weiss nicht ob ich da noch irgend etwas übersehen habe. In der Doku steht, für weitere Überprüfungen soll man den LicFileLicenseProvider überschreiben.
Hoffe, das hilft Ansatz weiter,
Gruss
Pulpapex
Puh hört sich ja komplizierter an als ich gedacht habe.
Muss ich mir auch nochmal gedanken drum machen was denn sinnvoll für mich ist.
Falls jemand noch eine Lösung kennt bitte schreiben 🙂