Beispiel einer C#-basierten Regelsprache?
-
09-06-2019 - |
Frage
Können Sie ein gutes Beispiel für eine in C# geschriebene Regeldefinitionssprache liefern?
Java-Leute haben JESS, Gibt es etwas Gutes für C#?
Lösung
Diese Seite zeigt einige Beispiele für Open-Source-Regel-Engines in C#: http://csharp-source.net/open-source/rule-engines
Andere Tipps
Sie können die Vorwärtsverkettungs-Inferenz-Engine verwenden, die Teil von Windows Workflow Foundation (.NET 3.5 und höher) ist. Das Beste daran ist, dass es eine kostenlose Laufzeitlizenz gibt.
Du kannst den ... benutzen Regelmanager von Acumen Business und installieren Sie den Windows Workflow Foundation-Adapter.Exportieren Sie die Regeln nach der Installation als WFRules (*.rules).Es wird eine Visual Studio .NET-Lösung generiert, die zeigt, wie die Regel-Engine eigenständig aufgerufen werden kann (kein Workflow erforderlich).
Siehe auch http://bizknowledge.blogspot.com/search/label/Windows%20Workflow%20Foundation
Versuchen http://rulesengine.codeplex.comEs verfügt über einen Fluent-Interface-Wrapper zum Erstellen von Regeln.Es ist leicht und einfach zu bedienen.
Du könntest benutzen Windows Workflow Foundation's (WF) Workflow-Engine mit C#.Ich habe ein kleines und einfaches Projekt mit WF als Workflow-Engine gestartet, es ist eigentlich ganz einfach zu verwenden.Schauen Sie sich den ersten Teileintrag an, den ich dazu entwickelt habe Hier.
Das Interessante an WF ist, dass Sie nicht das Ganze verwenden müssen, wenn Sie möchten – wenn Sie nur einige benutzerdefinierte Regeln für einige Entitäten oder Objekte schreiben möchten, können Sie dies tun – ziemlich genial!Außerdem ist der Aufwand deutlich geringer als bei BizTalks BRE (und es fallen keine Lizenzkosten an).
Sie müssen einen Verweis auf die folgenden .Net-Assemblys hinzufügen, die in .Net Framework v3.0 und höher verfügbar sind:
- System.Workflow.Aktivitäten
- System.Workflow.ComponentModel
- System.Workflow.Runtime
Weitere Informationen finden Sie im Artikel.
Es gibt die Microsoft Business Rules Engine: http://msdn.microsoft.com/en-us/library/aa561216.aspx.Ich bin mir nicht sicher, ob es nur innerhalb von Biztalk verwendet werden kann – es heißt, dass es sich um eine .Net-Klassenbibliothek handelt.
Microsoft Business Rule Engine (BRE) ist ganz nett.Aber (und das ist ein großes ABER) Sie benötigen eine BizTalk Server-Lizenz, um es zu verwenden.
Schauen Sie mal rein Jetfire auf Codeplex.Es unterstützt die Vorwärtsverkettung.Regeln'.