You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.4 KiB
1.4 KiB
LINGYUN.Abp.Rules.NRules
Module Description
Rule engine implementation module based on NRules.
Base Modules
- LINGYUN.Abp.Rules
Features
- Provides rule engine implementation based on NRules
- Supports automatic rule registration through dependency injection
- Supports dynamic rule loading and execution
Configuration
- AbpNRulesOptions
- DefinitionRules - List of defined rules, used to store all rule types registered through dependency injection
How to Use
- Add
AbpNRulesModuledependency
[DependsOn(typeof(AbpNRulesModule))]
public class YouProjectModule : AbpModule
{
}
- Create a rule class
public class YourRule : RuleBase
{
public override void Define()
{
// Define rule conditions and actions
When()
.Match<YourInput>(x => x.SomeCondition);
Then()
.Do(ctx => /* Execute rule action */);
}
}
- Register and execute rules
public class YourService
{
private readonly IRuleProvider _ruleProvider;
public YourService(IRuleProvider ruleProvider)
{
_ruleProvider = ruleProvider;
}
public async Task ProcessAsync()
{
var input = new YourInput();
// Execute rule validation
await _ruleProvider.ExecuteAsync(input);
}
}