Ich verwende Portable.Licensing in meiner ASP.NET Web API-Anwendung. Ich verwende eine tägliche Hintergrundaufgabe, die unter Startup.cs
gestartet wurde und eine Lizenzdatei und einen öffentlichen Schlüssel unter Verwendung von System.IO.File.ReadAllText
überprüft. Wenn die Lizenz nach der Überprüfung nicht validiert wird, möchte ich die Anwendung so lange stoppen, bis eine aktualisierte Lizenzdatei installiert ist.Erzwingen einer abgelaufenen Lizenz ASP.NET Web API
Mit "stop working" meine ich Web-API-Anfragen sollten nicht durchlaufen oder die gesamte Web-API-Anwendung sollte gestoppt oder entladen werden. Die Lizenz ist abgelaufen, sie sollten die Anwendung nicht verwenden können.
Der Lizenzprüfungsabschnitt, den ich erklärt habe, funktioniert, aber ich kann keinen Weg finden, die Anwendung zu stoppen zu arbeiten, während die Anwendung bereits ausgeführt wird. Ich habe dies versucht, aber Anfragen scheinen noch
AppDomain.Unload(AppDomain.CurrentDomain);
Eine einfache Möglichkeit, die Lizenzprüfung in jedem HTTP-Request-Verfahren oder in einem Filter zu setzen wäre, zu arbeiten und einen Fehler zurück, aber ich möchte, dass vermeiden. Das ist IO file read
wird jedes Mal durchgeführt, wenn es die Lizenz überprüft und ich denke, dass dies zu Leistungsproblemen führen kann.
Gibt es Möglichkeiten, dies zu erreichen?
Können Sie es beim ersten Mal in die Sitzung laden und dann von dort in Ihrem Filter lesen, um Festplatten-E/A zu vermeiden? – ADyson
@ADyson Ich werde das untersuchen und es könnte funktionieren. – Heinrich