c# - Servicestack - 操作顺序 Fluent 验证和请求过滤器

标签 c# servicestack fluentvalidation

我们有一些请求过滤器,并且还利用了验证功能。

[AttributeUsage(AttributeTargets.Method, Inherited = true)]
public class MyFilterAttribute : Attribute, IHasRequestFilter
{
   ...
}

在 AppHost 中:

    public override void Configure(Container container)
    {
        ....
        Plugins.Add(new ValidationFeature());
        ....
    }

我需要在请求过滤器之后运行流畅的验证,因为某些过滤器会将数据添加到随后进行验证的 dto 中。我见过Order of Operations但这并没有说明验证的适用范围......至少我没有看到。

如有任何帮助,我们将不胜感激。

最佳答案

ValidationFeature像ServiceStack中的大多数东西一样只是一个简单的Plugin通过访问 ServiceStack GitHub repo 可以轻松找到其源代码按“T”激活GitHub's find files功能并开始输入部分类名,例如 VFe将带来ValidationFeature直到第一个结果。

ValidationFeature内你可以在IPlugin.Register(IAppHost)中看到介绍其工作原理:

public void Register(IAppHost appHost)
{
    if(!appHost.RequestFilters.Contains(ValidationFilters.RequestFilter))
        appHost.RequestFilters.Add(ValidationFilters.RequestFilter);
}

如上所示,仅注册了 Global Request FilterOrder of Operations指出全局请求过滤器在 Filter Attributes 之后执行优先<0并在具有优先级的过滤属性之前 >=0 .

关于c# - Servicestack - 操作顺序 Fluent 验证和请求过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15894810/

相关文章:

c# - 比较 C# 中的两个 XmlNode

c# - Blazor EditForm 和 Fluent 验证

.net - 流畅的验证与数据注释

ServiceStack Config.ReturnsInnerException

ServiceStack 和 FacebookAuthProvider

c# - 使用 servicestack 和 c# 将数据发布到 sql server

c# - MVC4中基于下拉选择的FluentValidation Rule依赖验证

c# - 按配置文件属性搜索用户

c# - 从 postgres 取回消息

c# - 可移植 C# 应用程序中的 Mongodb