2

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

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

在 AppHost 中:

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

我需要在请求过滤器之后运行流畅的验证,因为一些过滤器将数据添加到然后验证的 dto。我已经看到了操作顺序,但这并没有说明验证适合的位置……至少我没有看到。

任何帮助,将不胜感激。

4

1 回答 1

5

ValidationFeature像 ServiceStack 中的大多数东西一样只是一个简单的插件,可以通过转到ServiceStack GitHub repo按“T”来激活GitHub 的查找文件功能并开始输入部分类名,例如VFe将带来ValidationFeature直到第一个结果。

ValidationFeature中,您可以在该IPlugin.Register(IAppHost)功能中看到它是如何工作的:

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

如上所示,它只注册了一个Global Request Filter操作顺序指出全局请求过滤器在具有优先级的过滤器属性之后和具有优先级的<0过滤器属性之前执行>=0

于 2013-04-09T07:26:49.207 回答