我在 GlobalRequestFilters
文件中有一个
ServiceStack
apphost
过滤器来捕获身份验证请求,过滤器工作正常,但问题出在 req
中的 dto 中,res
和 requestDto
为空!
this.GlobalRequestFilters.Add((req, res, requestDto) => {
if (req.OperationName.ToLower()== "authenticate")
{
var authData =req.GetDto();
}
});
requestDto
在过滤器本身中传递,即:
GlobalRequestFilters.Add((req, res, requestDto) => {
var authDto = requestDto as Authenticate;
if (authDto != null)
{
//...
}
});
上述方法的另一种方法是使用类型化请求过滤器,例如:
RegisterTypedRequestFilter<Authenticate>((req, res, authDto) => {
//...
});