ServiceStack和FluentValidation未触发

dar*_*hal 5 fluentvalidation servicestack

我必须忽略一些在我创建的基本Service-Stack应用程序中启用流畅验证的内容.我一直在关注这里的例子.对于我的生活,我似乎无法让我的验证员解雇???? 面包屑,我必须有一些愚蠢的东西......

我正在针对User-Service(http://my.service/users)发出用户请求,请求直接通过而不调用已注册的相应验证器.

请求是:{"姓名":"","公司":"Co","年龄":10,"计数":110,"地址":"123 brown str."}

回复:"用户已保存..."


这是代码: 1.DTO

[Route("/users")]
public class User
{
    public string Name { get; set; }
    public string Company { get; set; }
    public int Age { get; set; }
    public int Count { get; set; }
    public string Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

2.Validator

 public class UserValidator : AbstractValidator<User>
{
    public UserValidator()
    {
        RuleFor(r => r.Name).NotEmpty();
        RuleFor(r => r.Age).GreaterThan(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

3.AppHostBase

public class ValidationAppHost : AppHostBase
{
    public ValidationAppHost()
        : base("Validation Test", typeof(UserService).Assembly)
    {

    }

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

        //This method scans the assembly for validators
        container.RegisterValidators(typeof(UserValidator).Assembly);
    }
}
Run Code Online (Sandbox Code Playgroud)

4.Service

 public class UserService : Service
{
    public object Any(User user)
    {
        return "user saved...";
    }
}
Run Code Online (Sandbox Code Playgroud)

5.Global.asax.cs

protected void Application_Start(object sender, EventArgs e)
    {
        new ValidationAppHost().Init();
    }
Run Code Online (Sandbox Code Playgroud)

dar*_*hal 8

好吧....发现安装(通过的NuGet)和我的项目FluentValidation.dll与服务的协议栈的FluentValidation实现(见命名空间中引用的问题....我(错误)ServiceStack.FluentValidation).一旦我删除了这个唯一不正确的FluentValidation引用,并确保我的验证器从验证器的服务栈实现扩展AbstractValidator正确...