Validation ServiceStack中基于会话的验证
我有一些基于用户会话的验证逻辑。 СI从从AbstractValidator继承的类访问会话 或者是否有其他方法来检查基于RequestDTO的会话 例如,我可以为此使用过滤器(我可以通过重写的执行方法中的IRequest参数req访问会话),但我不知道如何绕过操作的主方法从过滤器类返回响应。如果我抛出异常,服务将无法正常工作,因为RequestDTO在我的项目之外声明,它不是从IReturn继承的,并且不包含ResponseStatus字段Validation ServiceStack中基于会话的验证,validation,
servicestack,Validation,
servicestack,我有一些基于用户会话的验证逻辑。 СI从从AbstractValidator继承的类访问会话 或者是否有其他方法来检查基于RequestDTO的会话 例如,我可以为此使用过滤器(我可以通过重写的执行方法中的IRequest参数req访问会话),但我不知道如何绕过操作的主方法从过滤器类返回响应。如果我抛出异常,服务将无法正常工作,因为RequestDTO在我的项目之外声明,它不是从IReturn继承的,并且不包含ResponseStatus字段 提前感谢您提供的任何帮助(对不起我的英语)如果您的验
提前感谢您提供的任何帮助(对不起我的英语)如果您的验证器实现了
iRequestRequest
,那么它将注入当前的IRequest
,您可以在lambda表达式中使用它,例如:
public class CustomValidator : AbstractValidator<Request>, IRequiresRequest
{
public IRequest Request { get; set; }
...
}
公共类CustomValidator:AbstractValidator,iRequestRequest
{
公共IRequest请求{get;set;}
...
}
也许我做错了什么,但即使我的验证器实现了IRequireRequest,请求也不会被注入。为了注册验证器,我使用Plugins.Add(newvalidationfeature());容器.RegisterValidators(typeof(AdminService).Assembly)@VladimirShiyanov这是lambda表达式吗?因为它在构造函数中是空的。你能举个小例子吗。我将非常感激。@VladimirShiyanov将您的问题更新为您试图做的不起作用的事情(请在以后的所有问题中也这样做,否则很难推断您试图做的事情)对不起,我不小心读了您的答案。如果我尝试从lambda表达式访问它,它将被真正注入。多谢各位。