在验证器中访问Servicstack.net会话

时间:2013-12-15 13:08:20

标签: c# validation session servicestack servicestack-bsd

如何在验证码中访问ServiceStack.net会话?

public class UserSettingsValidator : AbstractValidator<UserSettingsRequest>
{
    public UserSettingsValidator()
    {
        RuleFor(x => x.UserId)
            .SetValidator(new PositiveIntegerValidator())
            .SetValidator(new UserAccessValidator(session.UserId)); //<-- I need to pass the UserID from the session here
    }
}

在服务实现中我只是这样做:

var session = base.SessionAs<UserSession>();

但这对我的抽象验证器不起作用。

谢谢!

编辑:这是版本3.9.71.0

1 个答案:

答案 0 :(得分:2)

看来,在阅读了一群遇到类似问题的人,然后花了几个小时玩基于SS4 Cookbook等的几个解决方案,这是一个已经解决的问题:

https://forums.servicestack.net/t/blaz-miheljak-355-feb-3-2015/176/2

在验证器上实现IRequiresRequest接口,瞧。